3 Replies Latest reply: Jun 4, 2009 7:22 AM by 164043 RSS

    isql: symbol lookup error: SQLGetPrivateProfileStringW

    646831
      Hello,
      I am trying to connect to an oracle database on remote machine using ODBC.

      I am using x86_64 Linux CentOS 5 machine.
      I configured ODBC as per the directions in

      http://youngcow.net/doc/oracle10g/install.102/b15662/post_inst_task.htm

      I created system DSN for oracle 11g in /etc/odbc.ini and Driver in /etc/odbcinst.ini

      my ORACLE_HOME and LD_LIBRARY_PATH are configured accordingly.

      I installed the Driver and System DSN using odbcinst.

      When I use isql to connect to the remote oracle. I get the following error.

      [user1@lin64 ~]# isql -v Oracle11gODBCDriver user password
      isql: symbol lookup error: /home/user1/app/user1/product/11.1.0/client_1/lib/libsqora.so.11.1: undefined symbol: SQLGetPrivateProfileStringW

      I am completely lost on this. I dont know what to do with the error.

      When I do strace, last few lines output:

      open("/usr/lib/libnuma.so", O_RDONLY) = -1 ENOENT (No such file or directory)
      open("/home/user1/app/user1/product/11.1.0/client_1/rdbms/mesg/ocius.msb", O_RDONLY) = 6
      fcntl(6, F_SETFD, FD_CLOEXEC) = 0
      lseek(6, 0, SEEK_SET) = 0
      read(6, "\25\23\"\1\23\3\t\t\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"..., 256) = 256
      lseek(6, 512, SEEK_SET) = 512
      read(6, "\337y\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"..., 512) = 512
      lseek(6, 1024, SEEK_SET) = 1024
      read(6, "\25\7\'\0072\7>\7j\7\276\17$\'\6K5S\24TfT\307T(VsV\222V\6W"..., 86) = 86
      brk(0x145dd000) = 0x145dd000
      times(NULL) = 431290328
      writev(2, [{"isql", 4}, {": ", 2}, {"symbol lookup error", 19}, {": ", 2}, {"/home/user1/app/user1/produc"..., 70}, {": ", 2}, {"undefined symbol: SQLGetPrivateP"..., 45}, {"", 0}, {"", 0}, {"\n", 1}], 10isql: symbol lookup error: /home/user1/app/user1/product/11.1.0/client_1/lib/libsqora.so.11.1: undefined symbol: SQLGetPrivateProfileStringW
      ) = 145
      exit_group(127) = ?

      When I type:

      [user1@lin64 ~]# nm /home/user1/app/user1/product/11.1.0/client_1/lib/libsqora.so.11.1 | grep SQLGetPrivateProfileStringW
      U SQLGetPrivateProfileStringW



      Please help me on this.
      Thanks,
        • 1. Re: isql: symbol lookup error: SQLGetPrivateProfileStringW
          damorgan
          You are using a non-Oracle certified tool to access an Oracle database on a non-supported operating system.

          Why not go with supported tools and supported configurations? They have the advantage that they work.
          • 2. Re: isql: symbol lookup error: SQLGetPrivateProfileStringW
            646831
            Thanks for your reply.

            Here is the complete situation we are in.

            We are trying to connect to Oracle's TimesTen Database from a Rails Application.
            I cannot find Rails Adapter to connect to TimesTen Database.
            But there is odbc adapter for Rails.

            So we are planning to configure DSN here on linux for Remote Oracle and trying to connect to the remote database.

            If not possible we have to try atleast both Rails App and TimesTen on the same machine.
            Then also we need to go thru ODBC-adapter.

            we are using isql as a simple tool to test DSN.

            Thanks,
            • 3. Re: isql: symbol lookup error: SQLGetPrivateProfileStringW
              164043
              The problem is not in the supportability, the problem lies in the fact that this driver is untested and doesn't work.
              I was able to successfully do the trick with the ODBC driver for 10.2 but the 11g version doesn't work, it's missing
              a symbol. For your information, this driver doesn't work even on OEL 5.2, which is supported. Just blasting people for using the unsupported combination will not change the fact that neither dg4odbc nor the ODBC
              driver itself are working. Both are hopelessly broken.

              If you ever asked yourself why is the adoption of 11g so slow, the answer is that is largely untested and significant parts of it don't work. I had a problem with fast switchover to standby which did work in one direction, but could not get back and I still have a problem with ODBC drivers which are programmed sloppily. I suggested my management not to go to 11g for at least another year. New features of 11g are fascinating but the software quality is appalling, to put it mildly. There are show stopping bugs all over the place.

              Other than that, my understanding of this forum is that it is intended for a free form exchange of information. Blasting people for testing possibilities doesn't seem like the right answer to me. On the other hand, any
              other answer would be inconsistent with Dan Morgan.