2016-09-13 12 views
2

Ich versuche, eine Verbindung zu MS SQL-Server mit Perl Script. Hier ist der Code.Verbinden mit SQL Server mit DBI

#!/usr/bin/perl 
use strict; 
use warnings; 

use DBI; 

#my $dbfile = "sample.db"; 

my $dsn  = "dbi:ODBC:SQLServer:dpnsql"; 
my $user  = "xxx"; 
my $password = "******"; 
my $dbh = DBI->connect($dsn, $user, $password, 
{ 
    PrintError  => 0, 
    RaiseError  => 1, 
    AutoCommit  => 1, 
    FetchHashKeyName => 'NAME_lc', 
} 
); 


$dbh->disconnect; 

Aber ich erhalte den Fehler wie unten enter image description here

helfen Sie mit mir in dieser Ausgabe. Jeder neue Code wird ebenfalls geschätzt.

TIA

+3

Bitte posten Sie keine Texte als Bilder. Es ist sehr schwer zu lesen und unmöglich zu kopieren und einzufügen. Sie sollten sich auch an unsere vielen blinden Abonnenten erinnern. – Borodin

+4

@Borodin: Ich bin nicht völlig blind (85%), aber ich kann dir nicht mehr zustimmen :) – DerpyNerd

Antwort

2

Der Fehler besagt, dass Datenquellenname wurde nicht gefunden.

Das bedeutet, dass dsn nicht korrekt ist.

Wenn Sie mit einem x64-Server arbeiten, beachten Sie, dass es verschiedene ODBC-Einstellungen für x86- und x64-Anwendungen gibt. [Siehe: https://stackoverflow.com/a/5034297/257635]

Versuchen Sie die folgende Syntax mit richtigen DSN.

my $dbh = DBI->connect("dbi:ODBC:Driver={SQL Server};Server=<IP>;UID=$user;PWD=$password", 
    { 
     PrintError  => 0, 
     RaiseError  => 1, 
     AutoCommit  => 1, 
     FetchHashKeyName => 'NAME_lc', 
    } 
); 
+0

Kannst du mir den richtigen Weg vorschlagen, um die richtige DSN zu bekommen? –

+0

http://www.connectionstrings.com/ –

Verwandte Themen