--------------030201010903050004050505 Content-Type: text/plain; charset=us-ascii; format=flowed Content-Transfer-Encoding: 7bit I am confused because it appears that you are using iODBC not unixODBC. And if you have both on your system than you are inviting trouble. For example; you should only have one libodbc.so on your system and you should only have one odbcinst.ini. Further more you do not want to end up with a mix of iODBC and unixODBC libs. You certianly do not want 'find / -name "*iodbc*"' on your system if you plan on using unixODBC - unless you *really* know what you are doing :) Your ini files are clearly from an iODBC install and since you have indicated a problem with unixODBC I have to assume that your environment is suspect. A while ago I enhanced the DSN lookup code in the FreeTDS ODBC driver. I am very busy working on another project right now BUT please let me know if I should revisit this code - I feel somewhat obligated as I put a good chunk of code right in that area. Peter Leon Brooks wrote: >Attached (and I'll post again inline if the list server balks) are an >obfuscated odbc.ini, odbcinst.ini and freetds.conf to check for gaffes. The >initials of the organisation have been replaced with XXX and the 3rd quad of >the internal addresses has been replaced with ??? to aid security. > >192.168.???.130 is the main SQL server, 192.168.???.67 is a temporary test >server. Both are MS SQL Server 7.0. > >sqsh will connect to either server via FreeTDS, unixODBC will connect through >the EasySoft bridge but not FreeTDS. > >unixODBC isql can't find any DSNs at all. > >The base system is Mandrake 8.1 unixODBC is 2.2.2, FreeTDS is 0.53. > >Enlighten me! (-: > > > >------------------------------------------------------------------------ > ># ># The freetds.conf file is a replacement for the original interfaces ># file developed by Sybase. You may use either this or the interfaces ># file, but not both. ># ># FreeTDS will search for a conf file in the following order: ># ># 1) check if a file was set programatically via dbsetifile() and ># is in .conf format, if so use that, ># ># 2) look in ~/.freetds.conf ># ># 3) look in @sysconfdir@/freetds.conf ># ># If FreeTDS has found no suitable conf file it will then search for ># an an interfaces file in the following order: ># ># 1) check if a file was set programatically via dbsetifile() and ># is in interfaces format, if so use that, ># ># 2) look in ~/.interfaces ># ># 3) look in $SYBASE/interfaces (where $SYBASE is an environment ># variable) ># ># Only hostname, port number, and protocol version can be specified ># using the interfaces format. ># ># The conf file format follows a modified Samba style layout. There ># is a [global] section which will affect all database servers and ># basic program behaviour, and a section headed with the database ># server's name which will have settings which override the global ># ones. ># > ># Global settings, any value here may be overridden by a database ># server specific section >[global] > # TDS protocol version > tds version = 7.0 > > initial block size = 512 > > swap broken dates = no > > swap broken money = no > > # Database server login method, if both server and domain > # logins are enabled, domain login is tried first if a domain > # is specified, and if that fails the server login will be used. > try server login = yes > try domain login = no > > # The default authentication domain, can be overridden by > # specifying a username with a domain prefix, e.g. DOMAIN\username >; nt domain = WORKGROUP > > # If the server responds with different domain try that one? > cross domain login = no > > # Whether to write a TDSDUMP file for diagnostic purposes > # (setting this to /tmp is insecure on a multi-user system) > dump file = /tmp/freetds.log > debug level = 10 > > # Command and connection timeouts >; timeout = 10; >; connect timeout = 10; > ># This is a Sybase hosted database server, if you are directly on the ># net you can use it to test. >;[JDBC] >; host = 192.138.151.39 >; port = 4444 >; tds version = 5.0 > >[TDSdev2] > host = 192.168.???.67 > port = 1433 > tds version = 7.0 > ># A typical Microsoft SQL Server 7.0 configuration >;[MyServer70] >; host = ntmachine.domain.com >; port = 1433 >; tds version = 7.0 > ># A typical Microsoft SQL Server 7.0 configuration using domain logins >;[MyServer70] >; host = ntmachine.domain.com >; port = 1433 >; tds version = 7.0 >; try domain logins = yes >; try server logins = no >; nt domain = MYDOMAIN > ># A typical Microsoft SQL Server 6.x configuration >;[MyServer65] >; host = ntmachine.domain.com >; port = 1433 >; tds version = 4.2 > > > >------------------------------------------------------------------------ > >; >; odbc.ini >; >; ODBC DSN configuration file >; >; This file is an OpenLink Software product configuration file. >; To learn more about this product, or any other product in our >; portfolio, please check out our web site at: >; >; http://www.openlinksw.com >; >; or contact us at: >; >; general.information@openlinksw.com >; >; If you have any technical questions, please contact our support >; staff at: >; >; technical.support@openlinksw.com >; >[ODBC Data Sources] >XXXBTEST = OpenLink SQL Server Lite Driver >XXXtest = Leon testing again >OpenLink = OpenLink (MT) >XXX2 = SQL Server >TDSdev2 = Developer2 pubs via FreeTDS >TDSxxxt = CIXXXB XXXTEST via FreeTDS >Doomed = Just another random test >Default = this sucks >DEFAULT = this really sucks > >[TDSdev2x] >Driver = TDS >Description = Developer2 pubs via FreeTDS 1 >Host = 192.168.???.67 >ServerName = 192.168.???.67 >ServerType = SQLServer 7 >FetchBufferSize = 99 >UserName = sa >UID = sa >Password = 7board >PWD = 7board >Database = pubs >ReadOnly = no >Trace = 1 >TraceFile = /tmp/iodbc.trace > >[TDSdev2] >Driver = /usr/lib/libtdsodbc.so >Description = Developer2 pubs via FreeTDS 1 >Host = 192.168.???.67 >ServerName = 192.168.???.67 >ServerType = SQLServer 7 >FetchBufferSize = 99 >UserName = sa >UID = sa >Password = 7board >PWD = 7board >Database = pubs >ReadOnly = no >Trace = 1 >TraceFile = /tmp/iodbc.trace > >[Doomed] >Driver = /home/xxxstaff/ODBCbridge/lib/sql_st_lt.so >Description = Test DB Devel2 >Host = 192.168.???.67 >ServerType = SQLServer 7 >FetchBufferSize = 99 >UserName = sa >Password = 7board >Database = pubs >ReadOnly = no >Trace = 1 >TraceFile = /tmp/iodbc.trace > >[TDSxxxt] >Description = CIXXXB XXXTEST via FreeTDS >Options = CIXXXB >UserName = shaunp >ServerType = SQLServer 7 >Driver = /usr/lib/libtdsodbc.so >Database = XXXBTEST >FetchBufferSize = 99 >Host = 192.168.???.130 >Password = melange > >[XXXBTEST] >Description = CIXXXB XXXBTEST via ODBCbridge >Options = CIXXXB >UserName = shaunp >ServerType = SQLServer 7 >Driver = /home/xxxstaff/ODBCbridge/lib/sql_st_lt.so >Database = XXXBTEST >FetchBufferSize = 99 >Host = 192.168.???.130 >Password = melange > >[XXX2] >Driver = /home/xxxstaff/ODBCbridge/lib/sql_st_lt.so >Description = bleah > >[OpenLink] >Driver = /home/openlink/lib/oplodbc.so.1 >Description = Sample OpenLink MT DSN >Host = localhost >ServerType = Oracle 8 >FetchBufferSize = 99 >UserName = >Password = >Database = >ServerOptions = >ConnectOptions = >Options = >ReadOnly = no > >[XXXtest] >Driver = /usr/local/iodbc/lib/oplodbc.so.1 >Description = XXX test DB >Host = 192.168.23.130 >ServerType = SQLServer 7 >FetchBufferSize = 99 >UserName = sa >Password = 7board >Database = XXXTEST >ReadOnly = no >Trace = 1 >TraceFile = /tmp/iodbc.trace > >[Default] >Driver = /home/xxxstaff/ODBCbridge/lib/sql_st_lt.so >Description = Test DB Devel2 >Host = 192.168.???.67 >ServerType = SQLServer 7 >FetchBufferSize = 99 >UserName = sa >Password = 7board >Database = pubs >ReadOnly = no >Trace = 1 >TraceFile = /tmp/iodbc.trace > >[DEFAULT] >Driver = /home/xxxstaff/ODBCbridge/lib/sql_st_lt.so >Description = Test DB Devel2 >Host = 192.168.???.67 >ServerType = SQLServer 7 >FetchBufferSize = 99 >UserName = sa >Password = 7board >Database = pubs >ReadOnly = no >Trace = 1 >TraceFile = /tmp/iodbc.trace > >[ODBC] >DebugFile = /tmp/odbc.debug > > > >------------------------------------------------------------------------ > >[ODBC Drivers] >OpenLink (MT) = Installed >TDS = Installed >PostgresSQL = Installed > >[OpenLink (MT)] >Description = USD4000 >Driver = /usr/lib/liboplodbcS.so.1 >Setup = /usr/lib/liboplodbcS.so.1 > >[TDS] >Description = TDS v0.53 with protocol v7.0 >Driver = /usr/lib/libtdsodbc.so >Driver = /usr/lib/libtdsodbcS.so >FileUsage = 1 > >[PostgresSQL] >Description = PostgresSQL >Driver = /usr/lib/libodbcpsql.so >Setup = /usr/lib/libodbcpsqlS.so >FileUsage = 1 > > > > > >------------------------------------------------------------------------ > >--- >You are currently subscribed to freetds as: [pharvey@codebydesign.com] >To unsubscribe, forward this message to leave-freetds-113879Q@franklin.oit.unc.edu > > --- You are currently subscribed to freetds as: [freetds@progressive-comp.com] To unsubscribe, forward this message to leave-freetds-113879Q@franklin.oit.unc.edu --------------030201010903050004050505 Content-Type: text/html; charset=us-ascii Content-Transfer-Encoding: 7bit I am confused because it appears that you are using iODBC not unixODBC. And if you have both on your system than you are inviting trouble.

For example; you should only have one libodbc.so on your system and you should only have one odbcinst.ini. Further more you do not want to end up with a mix of iODBC and unixODBC libs. You certianly do not want 'find / -name "*iodbc*"' on your system if you plan on using unixODBC - unless you *really* know what you are doing :)

Your ini files are clearly from an iODBC install and since you have indicated a problem with unixODBC I have to assume that your environment is suspect.

A while ago I enhanced the DSN lookup code in the FreeTDS ODBC driver. I am very busy working on another project right now BUT please let me know if I should revisit this code - I feel somewhat obligated as I put a good chunk of code right in that area.

Peter


Leon Brooks wrote:
Attached (and I'll post again inline if the list server balks) are an 
obfuscated odbc.ini, odbcinst.ini and freetds.conf to check for gaffes. The 
initials of the organisation have been replaced with XXX and the 3rd quad of 
the internal addresses has been replaced with ??? to aid security.

192.168.???.130 is the main SQL server, 192.168.???.67 is a temporary test 
server. Both are MS SQL Server 7.0.

sqsh will connect to either server via FreeTDS, unixODBC will connect through 
the EasySoft bridge but not FreeTDS.

unixODBC isql can't find any DSNs at all.

The base system is Mandrake 8.1 unixODBC is 2.2.2, FreeTDS is 0.53.

Enlighten me! (-:

  

# # The freetds.conf file is a replacement for the original interfaces # file developed by Sybase. You may use either this or the interfaces # file, but not both. # # FreeTDS will search for a conf file in the following order: # # 1) check if a file was set programatically via dbsetifile() and # is in .conf format, if so use that, # # 2) look in ~/.freetds.conf # # 3) look in @sysconfdir@/freetds.conf # # If FreeTDS has found no suitable conf file it will then search for # an an interfaces file in the following order: # # 1) check if a file was set programatically via dbsetifile() and # is in interfaces format, if so use that, # # 2) look in ~/.interfaces # # 3) look in $SYBASE/interfaces (where $SYBASE is an environment # variable) # # Only hostname, port number, and protocol version can be specified # using the interfaces format. # # The conf file format follows a modified Samba style layout. There # is a [global] section which will affect all database servers and # basic program behaviour, and a section headed with the database # server's name which will have settings which override the global # ones. # # Global settings, any value here may be overridden by a database # server specific section [global] # TDS protocol version tds version = 7.0 initial block size = 512 swap broken dates = no swap broken money = no # Database server login method, if both server and domain # logins are enabled, domain login is tried first if a domain # is specified, and if that fails the server login will be used. try server login = yes try domain login = no # The default authentication domain, can be overridden by # specifying a username with a domain prefix, e.g. DOMAIN\username ; nt domain = WORKGROUP # If the server responds with different domain try that one? cross domain login = no # Whether to write a TDSDUMP file for diagnostic purposes # (setting this to /tmp is insecure on a multi-user system) dump file = /tmp/freetds.log debug level = 10 # Command and connection timeouts ; timeout = 10; ; connect timeout = 10; # This is a Sybase hosted database server, if you are directly on the # net you can use it to test. ;[JDBC] ; host = 192.138.151.39 ; port = 4444 ; tds version = 5.0 [TDSdev2] host = 192.168.???.67 port = 1433 tds version = 7.0 # A typical Microsoft SQL Server 7.0 configuration ;[MyServer70] ; host = ntmachine.domain.com ; port = 1433 ; tds version = 7.0 # A typical Microsoft SQL Server 7.0 configuration using domain logins ;[MyServer70] ; host = ntmachine.domain.com ; port = 1433 ; tds version = 7.0 ; try domain logins = yes ; try server logins = no ; nt domain = MYDOMAIN # A typical Microsoft SQL Server 6.x configuration ;[MyServer65] ; host = ntmachine.domain.com ; port = 1433 ; tds version = 4.2

; ; odbc.ini ; ; ODBC DSN configuration file ; ; This file is an OpenLink Software product configuration file. ; To learn more about this product, or any other product in our ; portfolio, please check out our web site at: ; ; http://www.openlinksw.com ; ; or contact us at: ; ; general.information@openlinksw.com ; ; If you have any technical questions, please contact our support ; staff at: ; ; technical.support@openlinksw.com ; [ODBC Data Sources] XXXBTEST = OpenLink SQL Server Lite Driver XXXtest = Leon testing again OpenLink = OpenLink (MT) XXX2 = SQL Server TDSdev2 = Developer2 pubs via FreeTDS TDSxxxt = CIXXXB XXXTEST via FreeTDS Doomed = Just another random test Default = this sucks DEFAULT = this really sucks [TDSdev2x] Driver = TDS Description = Developer2 pubs via FreeTDS 1 Host = 192.168.???.67 ServerName = 192.168.???.67 ServerType = SQLServer 7 FetchBufferSize = 99 UserName = sa UID = sa Password = 7board PWD = 7board Database = pubs ReadOnly = no Trace = 1 TraceFile = /tmp/iodbc.trace [TDSdev2] Driver = /usr/lib/libtdsodbc.so Description = Developer2 pubs via FreeTDS 1 Host = 192.168.???.67 ServerName = 192.168.???.67 ServerType = SQLServer 7 FetchBufferSize = 99 UserName = sa UID = sa Password = 7board PWD = 7board Database = pubs ReadOnly = no Trace = 1 TraceFile = /tmp/iodbc.trace [Doomed] Driver = /home/xxxstaff/ODBCbridge/lib/sql_st_lt.so Description = Test DB Devel2 Host = 192.168.???.67 ServerType = SQLServer 7 FetchBufferSize = 99 UserName = sa Password = 7board Database = pubs ReadOnly = no Trace = 1 TraceFile = /tmp/iodbc.trace [TDSxxxt] Description = CIXXXB XXXTEST via FreeTDS Options = CIXXXB UserName = shaunp ServerType = SQLServer 7 Driver = /usr/lib/libtdsodbc.so Database = XXXBTEST FetchBufferSize = 99 Host = 192.168.???.130 Password = melange [XXXBTEST] Description = CIXXXB XXXBTEST via ODBCbridge Options = CIXXXB UserName = shaunp ServerType = SQLServer 7 Driver = /home/xxxstaff/ODBCbridge/lib/sql_st_lt.so Database = XXXBTEST FetchBufferSize = 99 Host = 192.168.???.130 Password = melange [XXX2] Driver = /home/xxxstaff/ODBCbridge/lib/sql_st_lt.so Description = bleah [OpenLink] Driver = /home/openlink/lib/oplodbc.so.1 Description = Sample OpenLink MT DSN Host = localhost ServerType = Oracle 8 FetchBufferSize = 99 UserName = Password = Database = ServerOptions = ConnectOptions = Options = ReadOnly = no [XXXtest] Driver = /usr/local/iodbc/lib/oplodbc.so.1 Description = XXX test DB Host = 192.168.23.130 ServerType = SQLServer 7 FetchBufferSize = 99 UserName = sa Password = 7board Database = XXXTEST ReadOnly = no Trace = 1 TraceFile = /tmp/iodbc.trace [Default] Driver = /home/xxxstaff/ODBCbridge/lib/sql_st_lt.so Description = Test DB Devel2 Host = 192.168.???.67 ServerType = SQLServer 7 FetchBufferSize = 99 UserName = sa Password = 7board Database = pubs ReadOnly = no Trace = 1 TraceFile = /tmp/iodbc.trace [DEFAULT] Driver = /home/xxxstaff/ODBCbridge/lib/sql_st_lt.so Description = Test DB Devel2 Host = 192.168.???.67 ServerType = SQLServer 7 FetchBufferSize = 99 UserName = sa Password = 7board Database = pubs ReadOnly = no Trace = 1 TraceFile = /tmp/iodbc.trace [ODBC] DebugFile = /tmp/odbc.debug

[ODBC Drivers] OpenLink (MT) = Installed TDS = Installed PostgresSQL = Installed [OpenLink (MT)] Description = USD4000 Driver = /usr/lib/liboplodbcS.so.1 Setup = /usr/lib/liboplodbcS.so.1 [TDS] Description = TDS v0.53 with protocol v7.0 Driver = /usr/lib/libtdsodbc.so Driver = /usr/lib/libtdsodbcS.so FileUsage = 1 [PostgresSQL] Description = PostgresSQL Driver = /usr/lib/libodbcpsql.so Setup = /usr/lib/libodbcpsqlS.so FileUsage = 1

--- You are currently subscribed to freetds as: [pharvey@codebydesign.com] To unsubscribe, forward this message to leave-freetds-113879Q@franklin.oit.unc.edu

---
You are currently subscribed to freetds as: [freetds@progressive-comp.com]
To unsubscribe, forward this message to leave-freetds-113879Q@franklin.oit.unc.edu --------------030201010903050004050505--