Ich habe ein Perl-Skript auf einem Linux-Rechner (Ubuntu 8.10) und ich muss Daten in eine SQL Server-Datenbank schreiben. Ich habe versucht, das DBD :: ODBC-Modul zu verwenden, aber ich kann es nicht verbinden. Wo kann ich einen kostenlosen/Open-Source-Treiber für die ODBC-Verbindung verwenden oder gibt es eine andere Möglichkeit, dies unter Linux von Perl aus zu tun?Wie greife ich von einem Perl-Skript unter Linux auf eine SQL Server-Datenbank zu?
5
A
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!
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".
Pro http://www.freetds.org/userguide/choosingddsprotocol.htm, Ihr Kommentar könnte falsch sein. –
@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