Ho uno script Perl su una macchina Linux (Ubuntu 8.10) e ho bisogno di scrivere dati su un database SQL Server. Ho cercato di utilizzare il modulo DBD :: ODBC ma non riesco a collegarlo. Dove posso trovare un driver gratuito/open source da usare per la connessione ODBC o esiste un altro modo per farlo da Perl su Linux?Come accedere a un database SQL Server da uno script Perl in Linux?
5
A
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!
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".
Per http://www.freetds.org/userguide/choosingtdsprotocol.htm, il tuo commento potrebbe essere sbagliato. –
@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