Hello,
I have configured Wine in Ubuntu 9.04 to use the built-in odbc32.dll which in turn uses the Linux's unixodbc package.
When I am trying to run my windows application which actually uses Windows API connecting to Unix ODBC is not working.
The API uses is SQLDriverConnect (), that returns me error
[unixODBC][Driver Manager]Can't open lib '/usr/lib/libtdsodbc.so' file not found.
Since wine is clone to Windows API any application using that API should run also in Wine. Please let me know if wine windows API has any issues with unixODBC. Please advise how should I proceed here.
Warm Regards
Nithin
Windows API to connect UnixOdbc is not functional in Wine
Windows API to connect UnixOdbc is not functional in Wine
On Wed, 2010-03-10 at 05:53 -0600, nithin wrote:
In a Fedora installation /usr/lib/libtdsodbc.so is part of the freetds
(Tabular DataStream) package. I've not installed or used it, but it
seems to be equivalent to an ODBC driver, so must be explicitly
installed.
Martin
My guess is that you haven't installed it.I have configured Wine in Ubuntu 9.04 to use the built-in odbc32.dll
which in turn uses the Linux's unixodbc package.
When I am trying to run my windows application which actually uses
Windows API connecting to Unix ODBC is not working.
The API uses is SQLDriverConnect (), that returns me error
[unixODBC][Driver Manager]Can't open lib '/usr/lib/libtdsodbc.so' file
not found.
In a Fedora installation /usr/lib/libtdsodbc.so is part of the freetds
(Tabular DataStream) package. I've not installed or used it, but it
seems to be equivalent to an ODBC driver, so must be explicitly
installed.
Martin
Thanks for the reply
The 'freetds' is already installed.
I will paste the details here:
# cat /etc/odbc.ini
[SERVER]
Driver = FreeTDS
Description = ODBC Connection using FreeTDS
Trace = No
Server = 192.168.1.79
Port = 1433
Database = Northwind
# cat /etc/odbcinst.ini
[FreeTDS]
Description = TDS Driver
Driver = /usr/lib/odbc/libtdsodbc.so
Driver64 =
Setup = /usr/lib/odbc/libtdsS.so
Setup64 =
UsageCount = 1
CPTimeout =
CPReuse =
# ls libtds*
libtdsodbc.so libtdsS.so
If I use 'Isql' command I am able to connect using the same dsn which I use to connect with our application
# isql SERVER sa 1100zz
+---------------------------------------+
| Connected! |
| |
| sql-statement |
| help [tablename] |
| quit |
| |
+---------------------------------------+
Thank you
The 'freetds' is already installed.
I will paste the details here:
# cat /etc/odbc.ini
[SERVER]
Driver = FreeTDS
Description = ODBC Connection using FreeTDS
Trace = No
Server = 192.168.1.79
Port = 1433
Database = Northwind
# cat /etc/odbcinst.ini
[FreeTDS]
Description = TDS Driver
Driver = /usr/lib/odbc/libtdsodbc.so
Driver64 =
Setup = /usr/lib/odbc/libtdsS.so
Setup64 =
UsageCount = 1
CPTimeout =
CPReuse =
# ls libtds*
libtdsodbc.so libtdsS.so
If I use 'Isql' command I am able to connect using the same dsn which I use to connect with our application
# isql SERVER sa 1100zz
+---------------------------------------+
| Connected! |
| |
| sql-statement |
| help [tablename] |
| quit |
| |
+---------------------------------------+
Thank you
You've already got enough information to spot the problem. The error message is:
[unixODBC][Driver Manager]Can't open lib '/usr/lib/libtdsodbc.so' file not found.
Yet your odbcinst.ini says:
Driver = /usr/lib/odbc/libtdsodbc.so
Creating a symlink from /usr/lib/libtdsodbc.so to /usr/lib/odbc/libtdsodbc.so might fix it.
[unixODBC][Driver Manager]Can't open lib '/usr/lib/libtdsodbc.so' file not found.
Yet your odbcinst.ini says:
Driver = /usr/lib/odbc/libtdsodbc.so
Creating a symlink from /usr/lib/libtdsodbc.so to /usr/lib/odbc/libtdsodbc.so might fix it.
nithin not a wine issue. Ubuntu package issue. ln -s should work around if the so exists where the config says it is.
[unixODBC][Driver Manager] ie is a native non wine message.
But check if there is a package update first. Since the maintainer ubuntu freetdsof for this error to be happening has to have screwed up and not correctly tested packages before shipping.
Yes a lot of Ubuntu maintainers need a swift kick up ass for basic mistakes of not building and running the testsuites to make sure their packages work.
[unixODBC][Driver Manager] ie is a native non wine message.
But check if there is a package update first. Since the maintainer ubuntu freetdsof for this error to be happening has to have screwed up and not correctly tested packages before shipping.
Yes a lot of Ubuntu maintainers need a swift kick up ass for basic mistakes of not building and running the testsuites to make sure their packages work.
Thanks for the reply
I updated the Ubuntu , still same issue.
And one correction, it was my mistake that the error message I sent in previous post was not correct, I missed "/odbc/" The error message I got is:
[unixODBC][Driver Manager]Can't open lib '/usr/lib/odbc/libtdsodbc.so' file not found.
The API SQLDriverConnect () is returned me that error message.
I updated the Ubuntu , still same issue.
And one correction, it was my mistake that the error message I sent in previous post was not correct, I missed "/odbc/" The error message I got is:
[unixODBC][Driver Manager]Can't open lib '/usr/lib/odbc/libtdsodbc.so' file not found.
The API SQLDriverConnect () is returned me that error message.
Windows API to connect UnixOdbc is not functional in Wine
On Thu, 2010-03-11 at 02:56 -0600, nithin wrote:
pathnames? Its quite possible the programmer was lazy and the error
message is misleading. Double check and fix if needed.
Are the access permissions suitable for the user that's being used to
run the program?
Checking and fixing this sort of thing may be foreign to a Windows user
but its pretty much Linux 101.
Never copy type - always cut 'n paste. There are fewer mistakes then.Thanks for the reply
I updated the Ubuntu , still same issue.
And one correction, it was my mistake that the error message I sent in previous post was not correct, I missed "/odbc/" The error message I got is:
[unixODBC][Driver Manager]Can't open lib '/usr/lib/odbc/libtdsodbc.so' file not found.
Do *both* the absolute path names in /etc/odbcinst.ini match the actualThe API SQLDriverConnect () is returned me that error message.
pathnames? Its quite possible the programmer was lazy and the error
message is misleading. Double check and fix if needed.
Are the access permissions suitable for the user that's being used to
run the program?
Checking and fixing this sort of thing may be foreign to a Windows user
but its pretty much Linux 101.