Announcement

Collapse
No announcement yet.

ODBC Connection from linux

Collapse
X
 
  • Filter
  • Time
Clear All
new posts

    ODBC Connection from linux

    Hello,

    I'm trying to connect using ODBC from linux.
    I dried connecting using the db folder of commitcrm localy mounted on the computer, and using //serverip:6262 in the "DataDirectory" key but none of them worked.
    I get the following error:
    Error 6060: Advantage Database Server not available on specified server. axServerConnect

    Do you have an idea of what could be wrong?

    Best regards

    Re: ODBC Connection from linux

    Thank you for posting this. It seems that you were trying to connect to a data dictionary instead of to a "folder" and this will not work as dictionaries are not being used. You need to try to point to the data folder (\RangerMSP\Db) and see how it goes.

    Comment


      Re: ODBC Connection from linux

      Hello,

      I mounted the CommitCRM share from the server hosting CommitCRM (172.16.200.22) on /mnt/commit locally so I tried putting /mnt/commit/Db in the DataDirectory key in odbc.inc
      But it didn0t help
      And I also tried the following values for DataDirectory:
      \\172.16.200.22\Commit\Db
      \\172.16.200.22:6262\Commit\Db
      //172.16.200.22/Commit/Db
      //172.16.200.22:6262/Commit/Db
      172.16.200.22:6262

      Is there another parameter I should check?

      I test using:
      $ isql -v ADS
      [S1000][unixODBC][iAnywhere Solutions][Advantage SQL][ASA] Error 6060: Advantage Database Server not available on specified server. axServerConnect
      [ISQL]ERROR: Could not SQLConnect


      My odbc.ini is:
      [ODBC Data Sources]
      ADS = Advantage ODBC Driver

      [ADS]
      Driver=ADS
      DataDirectory=\\172.16.200.22:6262\Commit\Db
      Description=Advantage ODBC driver
      Rows=False
      MemoBlockSize=64
      DefaultType=Advantage
      MaxTableCloseCache=0
      LOCKING=Record
      CharSet=OEM
      ADVANTAGELOCKING=OFF
      ServerTypes=3
      TableExtension=


      And my odbcinst.ini:
      [ADS]
      Description = ODBC for ADS
      Driver = /usr/lib/libadsodbc.so.10.10.0.49
      Setup = /usr/lib/libadsodbc.so.10.10.0.49
      FileUsage = 1

      Comment


        Re: ODBC Connection from linux

        The port should not be specified as part of the DataDirectory path, so please remove it.
        On the Linux box, mount the shared directory as a CIFS/Samba share.
        Then - verify that in Linux command shell you can list the files in the path your trying to connect to.

        Next - verify that IPTables, or whatever firewall your have installed on your Linux machine, allows traffic on the port the SQL database engine works with, it seems to be 6262 in your case.

        Verify that the Windows server does not block http/udp connections from the Linux machine (Windows firewall...).

        Also, change ServerTypes from 3 to 2.

        Give it a try.

        Comment


          Re: ODBC Connection from linux

          Hello,

          I have adsodbc-10.10.0.49 installed on the linux machine
          The commitCRM version is 16.0.0.6 with Advantage 10.10 on the same windows server.
          The db is on the share //172.16.200.22/Commit in the Db folder.
          I mounted this cifs share on /mnt/Commit, I can list all files in the Db folder
          Firewall is disabled on both machines. Both machines are on the same network.
          I tried with both ServerTypes 3 and 2
          When I try to connect to the tcp port 6262 it answers corectly.

          I still get the same error message. What should I put exactly in odbc.ini ?
          Should I put the path to the mounted Db folder or the path to this folder on the server, and with which notation?
          If I put the local path, how does it now where to find the server?

          Best regards

          Comment


            Re: ODBC Connection from linux

            The DataDirectory value should be \\172.16.200.22\RangerMSP\Db - though if you have a mapped drive for this you can use it instead of the IP address.

            I would also double check firewalls on both machines as well as that UDP is also allowed on both machines.

            Oh, also try this - you may need $ODBCINI to be set (change to the relevant path)

            export ODBCINI="/etc/" (if your odbc.ini and odbcinst.ini files are in /etc)


            Hope this helps.

            Comment


              Re: ODBC Connection from linux

              I tried the export, but it doesn't change (it was already using the correct odbc.ini and osbcinst.ini)

              There is really no firewall in any of the two machine which are directly connected.

              If I put the local path to the mounted share, how does it find the server to interact with it?
              And if I put the path to the share how does it know the credentials to use?

              Comment


                Re: ODBC Connection from linux

                Thanks for the update.

                It should point to the Windows share where the database is actually located.
                Without a dictionary, that is not being used, you won't need anything else besides permissions to the share, as set at the domain/server level.

                Beyond that we're not sure what else to recommend for the Linux box. Maybe first verify (maybe you have already) that you manage to connect from a Windows machine with ODBC and only then continue with the Linux box.

                You may also use an ADS.ini that teaches the system where the database server is, though that's normally the solution for a 6420 error, and you see 6060 on your Linux machine. Give it a try.

                Comment

                Working...
                X