2009-12-09 4 views

Antwort

9

Ich verbinde mit SQL Server 2005 mit dem Stapel unixODBC, freeTDS (dies ist der Treiber) und DBD :: ODBC.

Nachdem Sie diese Komponenten installieren, bearbeiten /etc/unixODBC/odbc.ini wie folgt zu lesen:

[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 

Wenn alles gut geht, sollten Sie in der Lage sein, mit verbinden:

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

Viel Glück!

+0

Pro http://www.freetds.org/userguide/choosingddsprotocol.htm, Ihr Kommentar könnte falsch sein. –

+0

@RobKinyon, kann ich nicht mit Sicherheit sagen, da ich diesen Software-Stack seit sehr langer Zeit nicht mehr benutzt habe. Aber das funktionierte mit diesen Einstellungen vor 7 Jahren. – Mark

5

Verwenden Sie das DBD::Sybase Modul, an einer Stelle gemeinsam Sybase und MS SQL Server eine gemeinsame Codebasis.

Sie können auch die Open-Source-Bibliotheken FreeTDS untersuchen. Siehe die FreeTDS-FAQ-Frage "Which Perl library should I use".