Re: Problem with the latest Sybase ODBC driver
Igor Korot <[email protected]> Fri, 6 Jul 2018 22:16:15 -0500
| Newsgroups | gmane.comp.db.tds.freetds |
|---|---|
| Message-ID | <CA+FnnTwyuSJRNqok_nV=7z4q9TR9osbZ17j=vw_YnZtNwhYtag@mail.gmail.com> |
Frediano, On Tue, Jul 3, 2018 at 12:09 AM, Frediano Ziglio <[email protected]> wrote: > 2018-07-01 6:08 GMT+01:00 Igor Korot <[email protected]>: >> Frediano, >> >> On Sat, Jun 30, 2018 at 8:08 PM, Igor Korot <[email protected]> wrote: >>> Frediano, >>> Any idea why freeTDS fails to connect? >> > > Too many issues in this thread, I'm a bit confused, from Sybase > libraries to crash to ODBC settings, I'll try to reply to this one > >> I was able to connect with tsql by adding to freetds.conf: >> >> [code] >> [MySybase] >> host = IGORREINCLOUD >> port = 5000 >> tds version = 5.0 >> [/code] >> >> and then doing from the command prompt: >> >> [code] >> igor@IgorReinCloud ~/dbhandler $ tsql -S MySybase -U dba -P wasqra >> locale is "en_US.utf8" >> locale charset is "UTF-8" >> using default charset "UTF-8" >> Msg 4002 (severity 14, state 1) from IGORREINCLOUD: >> "Login failed. >> " > > This is failing, I suspect you are trying a wrong user/password > >> There was a problem connecting to the server >> igor@IgorReinCloud ~/dbhandler $ tsql -S MySybase -U sa -P wasqra >> locale is "en_US.utf8" >> locale charset is "UTF-8" >> using default charset "UTF-8" >> Msg 5704 (severity 10, state 1) from IGORREINCLOUD: >> "Changed client character set setting to 'iso_1'. >> " > > This is a successful connection. > >> 1> USE draft; >> 2> go >> Msg 102 (severity 15, state 181) from IGORREINCLOUD Line 1: >> "Incorrect syntax near ';'. >> " >> 1> USE draft >> 2> go >> 1> SELECT * FROM leagues >> 2> go >> id name drafttype scoringtype roundvalues leaguetype >> salary benchplayers >> 1 Demo - Roto (Auction) 1 1 1 demo 260 0 >> 2 Demo - Roto (Draft) 3 1 1 demo 260 0 >> 3 Demo - Points (Auction) 1 2 1 demo 260 0 >> 4 Demo - Points (Draft) 3 2 1 demo 260 0 >> (4 rows affected) >> 1> quit >> igor@IgorReinCloud ~/dbhandler $ >> [/code] >> >> Do you see any issues with my freeTDS ODBC configuration? >> > > Looking back at ODBC I would say the option is "TDS_Version", not "TDS > Version", see http://www.freetds.org/userguide/odbcconnattr.htm. > Usually the steps I take are setting up tsql, then use "Servername" in > odbc.ini then more from freetds.conf to odbc.ini the various settings > to get an odbc only configuration. > > At the beginning you were using Sybase drivers, with FreeTDS you can > use TDSDUMP and TDSDUMPCONFIG environment to help debugging, see > http://www.freetds.org/userguide/logging.htm. So the unixODBC isql connection worked. Now I tried to connect from my program. It failed. Here are the lines from the sql.log files: [code] [ODBC][27195][1530943457.280532][/var/tmp/portage/dev-db/unixODBC-2.3.5-r1/work/unixODBC-2.3.5/DriverManager/SQLDriverConnectW.c][290] Entry: Connection = 0x292cc00 Window Hdl = 0x28c62a0 Str In = [DSN=Sybase_16_freeTDS;Driver=Sybase_freeTDS][length = 43 (SQL_NTS)] Str Out = 0x2a87400 Str Out Max = 1024 Str Out Ptr = 0x7ffcb68b6550 Completion = 1 UNICODE Using encoding ASCII 'UTF8' and UNICODE 'UTF16LE' [ODBC][27195][1530943457.327913][/var/tmp/portage/dev-db/unixODBC-2.3.5-r1/work/unixODBC-2.3.5/DriverManager/SQLDriverConnectW.c][699] Exit:[SQL_ERROR] [ODBC][27195][1530943457.328028][/var/tmp/portage/dev-db/unixODBC-2.3.5-r1/work/unixODBC-2.3.5/DriverManager/SQLGetDiagRecW.c][516] Entry: Connection = 0x292cc00 Rec Number = 1 SQLState = 0x7ffcb68b60d0 Native = 0x7ffcb68b60a4 Message Text = 0x7ffcb68b6100 Buffer Length = 1024 Text Len Ptr = 0x7ffcb68b609c [ODBC][27195][1530943457.328082][/var/tmp/portage/dev-db/unixODBC-2.3.5-r1/work/unixODBC-2.3.5/DriverManager/SQLGetDiagRecW.c][563] Exit:[SQL_SUCCESS] SQLState = [HYC00] Native = 0x7ffcb68b60a4 -> 0 Message Text = [[FreeTDS][SQL Server]Driver not capable] [ODBC][27195][1530943457.328149][/var/tmp/portage/dev-db/unixODBC-2.3.5-r1/work/unixODBC-2.3.5/DriverManager/SQLGetDiagRecW.c][516] Entry: Connection = 0x292cc00 Rec Number = 2 SQLState = 0x7ffcb68b60d0 Native = 0x7ffcb68b60a4 Message Text = 0x7ffcb68b6100 Buffer Length = 1024 Text Len Ptr = 0x7ffcb68b609c [ODBC][27195][1530943457.328198][/var/tmp/portage/dev-db/unixODBC-2.3.5-r1/work/unixODBC-2.3.5/DriverManager/SQLGetDiagRecW.c][563] Exit:[SQL_SUCCESS] SQLState = [08001] Native = 0x7ffcb68b60a4 -> 0 Message Text = [[FreeTDS][SQL Server]Unable to connect to data source] [ODBC][27195][1530943457.328247][/var/tmp/portage/dev-db/unixODBC-2.3.5-r1/work/unixODBC-2.3.5/DriverManager/SQLGetDiagRecW.c][516] Entry: Connection = 0x292cc00 Rec Number = 3 SQLState = 0x7ffcb68b60d0 Native = 0x7ffcb68b60a4 Message Text = 0x7ffcb68b6100 Buffer Length = 1024 Text Len Ptr = 0x7ffcb68b609c [ODBC][27195][1530943457.328283][/var/tmp/portage/dev-db/unixODBC-2.3.5-r1/work/unixODBC-2.3.5/DriverManager/SQLGetDiagRecW.c][563] Exit:[SQL_NO_DATA] [ODBC][27195][1530943462.470074][/var/tmp/portage/dev-db/unixODBC-2.3.5-r1/work/unixODBC-2.3.5/DriverManager/SQLFreeHandle.c][290] Entry: Handle Type = 2 Input Handle = 0x292cc00 [ODBC][27195][1530943462.470352][/var/tmp/portage/dev-db/unixODBC-2.3.5-r1/work/unixODBC-2.3.5/DriverManager/SQLFreeHandle.c][339] Exit:[SQL_SUCCESS] [ODBC][27195][1530943462.470433][/var/tmp/portage/dev-db/unixODBC-2.3.5-r1/work/unixODBC-2.3.5/DriverManager/SQLFreeHandle.c][220] Entry: Handle Type = 1 Input Handle = 0x29b6d20 [/code] I presume the "Driver not capable" error comes from the "Completion" parameter? Or there is something else? Please advise. Thank you. > >> Thank you. >> >>> >>> Thank you. >>> >>> >>> On Thu, Jun 28, 2018 at 8:02 AM, John Kendall <[email protected]> wrote: >>>> >>>>> On Jun 28, 2018, at 5:36 AM, Igor Korot <[email protected]> wrote: >>>>> >>>>> Hi, John, >>>>> >>>>> On Wed, Jun 27, 2018 at 11:14 AM, John Kendall <[email protected]> wrote: >>>>>> Igor, >>>>>> I'm on Centos 7.5 and it looks like I'm using the exact same version of ASE: >>>>>> Adaptive Server Enterprise/16.0 SP02 PL02/EBF 25320 SMP/P/x86_64/Enterprise Linux/ase160sp02plx/2492/64-bit/FBO/Sat Nov 21 04:05:39 2015 >>>>>> >>>>>> I'm using unixODBC 2.3.1 and the freeTDS odbc driver without issue. >>>>>> I recall having the Sybase ODBC driver working, but settled on the FreeTDS driver for simplicity. >>>>> >>>>> This is my setup: >>>>> >>>>> [code] >>>>> igor@IgorReinCloud ~/dbhandler $ cat /etc/unixODBC/odbcinst.ini >>>>> [ODBC] >>>>> Trace=yes >>>>> TraceFile=/tmp/sql.log >>>>> Pooling=No >>>>> >>>>> [Sybase] >>>>> Description=Sybase 16 Native Driver >>>>> Driver=/opt/sap/DataAccess64/ODBC/lib/libsybdrvodb.so >>>>> UsageCount=1 >>>>> >>>>> [Sybase_freeTDS] >>>>> Description=Sybase FreeTDS Driver >>>>> Driver=/usr/lib64/libtdsodbc.so >>>>> UsageCount=1 >>>>> igor@IgorReinCloud ~/dbhandler $ cat /etc/unixODBC/odbc.ini >>>>> [ODBC Data Sources] >>>>> Sybase_16_demo=Sybase 16 ODBC driver >>>>> Sybase_16_test=Sybase 16 ODBC driver >>>>> Sybase_16_freeTDS=Sybase_freeTDS >>>>> >>>>> [Sybase_16_demo] >>>>> Description=Sybase 16 ODBC Driver >>>>> Driver=Sybase >>>>> Port=5000 >>>>> Server=IGORREINCLOUD >>>>> UserID=sa >>>>> Password= >>>>> Database=pubs2 >>>>> Option=3 >>>>> >>>>> [Sybase_16_test] >>>>> Description=Sybase 16 ODBC native driver >>>>> Driver=Sybase >>>>> Port=5000 >>>>> Server=IG >>>>> Server=IGORREINCLOUD >>>>> UserID=sa >>>>> Password= >>>>> Database=draft >>>>> Option=3 >>>>> >>>>> [Sybase_16_freeTDS] >>>>> Description=Sybase 16 freeTDS ODBC driver >>>>> Driver=Sybase_freeTDS >>>>> Port=5000 >>>>> Server=IGORREINCLOUD >>>>> UserID=sa >>>>> Password= >>>>> Database=draft >>>>> TDS Version=5.0 >>>>> Option=3 >>>>> [/code] >>>>> >>>>> And this is from the ODBC log for freeTDS driver: >>>>> >>>>> [code] >>>>> [ODBC][15829][1530200010.883129][/var/tmp/portage/dev-db/unixODBC-2.3.2-r1/work/unixODBC-2.3.2/DriverManager/SQLConnect.c][3727] >>>>> Entry: >>>>> Connection = 0x637050 >>>>> Server Name = [Sybase_16_freeTDS][length = 17 (SQL_NTS)] >>>>> User Name = [sa][length = 2 (SQL_NTS)] >>>>> Authentication = [******][length = 6 (SQL_NTS)] >>>>> UNICODE Using encoding ASCII 'UTF8' and UNICODE 'UTF16LE' >>>>> >>>>> DIAG [01000] [FreeTDS][SQL Server]Adaptive Server connection failed >>>>> >>>>> DIAG [S1000] [FreeTDS][SQL Server]Unable to connect to data source >>>>> >>>>> [ODBC][15829][1530200010.924065][/var/tmp/portage/dev-db/unixODBC-2.3.2-r1/work/unixODBC-2.3.2/DriverManager/SQLConnect.c][4099] >>>>> Exit:[SQL_ERROR] >>>>> [/code] >>>>> >>>>> The native driver works OK - I can connect without any issues. >>>>> >>>>> Do you see any problems? >>>>> >>>>> I'm trying to connect with: >>>>> >>>>> isql Sybase_16_freeTDS sa <password> >>>>> >>>>> Thank you. >>>> >>>> Upon further investigation, my ODBC success is via PHP. I am having problems with unixODBC isql as well. >>>> So I'm no help. >>>> >>>>> >>>>>> >>>>>> John >>>>>> >>>>>> >>>>>> On Jun 27, 2018, at 10:37 AM, Igor Korot <[email protected]<mailto:[email protected]>> wrote: >>>>>> >>>>>> Hi, ALL, >>>>>> This post is not directly related to the freeTDS, but I'm hoping that >>>>>> someone can help. >>>>>> >>>>>> I have a latest Sybase 16.0 version Development Edition installed on Linux. >>>>>> I also have a unixODBC installed. >>>>>> >>>>>> I'm trying to connect to the server using the default Sybase ODBC >>>>>> driver with the >>>>>> unixODBC isql program. >>>>>> >>>>>> Unfortunately I have a problem. The connection works, but then issuing >>>>>> the simple >>>>>> query, like "SELECT * FROM <my_table>;", where my table is locatedinside >>>>>> my local database (the one I created) segfaults. >>>>>> Trying to do the same with the Sybase demo database works fine. >>>>>> >>>>>> I didn't try to do anything with the freeTDS driver yet. I will probably do that >>>>>> over the weekend. >>>>>> >>>>>> Does anybody here have Sybase 16 installed? Did you try ODBC connection >>>>>> to the server? >>>>>> >>>>>> Thank you. >>>>>> >>>>>> P.S.: Software versions: >>>>>> 1> select @@version >>>>>> 2> go >>>>>> >>>>>> ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ >>>>>> Adaptive Server Enterprise/16.0 SP02 PL02/EBF 25320 SMP/P/x86_64/Enterprise Lin >>>>>> ux/ase160sp02plx/2492/64-bit/FBO/Sat Nov 21 04:05:39 2015 >>>>>> >>>>>> (1 row affected) >>>>>> 1> exit >>>>>> >>>>>> [/code] >>>>>> >>>>>> [code] >>>>>> >>>>>> [ebuild U ] dev-db/unixODBC-2.3.5-r1::gentoo [2.3.2-r1::gentoo] >>>>>> USE="minimal unicode -odbcmanual -static-libs" ABI_X86="32 (64) >>>>>> (-x32)" 1,596 KiB >>>>>> >>>>>> [/code] >>>>>> >>>>>> The current version of unixODBC is 2.3.2-r1 from gentoo repository. > > Not much experience with Gentoo, looks like directories are completely > different. > > Frediano > _______________________________________________ > FreeTDS mailing list > [email protected] > https://lists.ibiblio.org/mailman/listinfo/freetds