2009-12-09 15 views

risposta

9

Mi collego a SQL Server 2005 con lo stack di unixODBC, freeTDS (questo è il driver) e DBD :: ODBC.

Dopo l'installazione di questi componenti, editare /etc/unixODBC/odbc.ini a leggere in questo modo:

[DNS] 
Description = my database 
Driver = /usr/lib/libtdsodbc.so #path to freeTDS driver 
Server = ServerName 
Database = DatabaseName 
Port = 1433 #sql server default port 
TDS_Version = 9.0 #9.0 is sql server 2005 
try domain login = yes 
try server login = yes 
nt domain = DOMAIN 

Se tutto va bene, si dovrebbe essere in grado di connettersi con:

$dbh = DBI->connect('dbi:ODBC:DNS', "userName", "passWord"); 

Buona fortuna!

+0

Per http://www.freetds.org/userguide/choosingtdsprotocol.htm, il tuo commento potrebbe essere sbagliato. –

+0

@RobKinyon, non posso dirlo con certezza dato che non ho usato questo stack di software da molto tempo. Ma questo funzionava, con queste impostazioni, 7 anni fa. – Mark

5

Utilizzare il modulo DBD::Sybase, a un certo punto Sybase e MS SQL Server hanno condiviso un codice base comune.

Si consiglia inoltre di esaminare le librerie open source FreeTDS. Vedi le domande frequenti su FreeTDS "Which Perl library should I use".

Problemi correlati