2011-02-05 118 views
10

我有一個用戶ID,密碼,數據庫名稱和數據源的詳細信息。我想用Perl連接到MSSQL服務器。我只是使用了下面的代碼片段,但是我收到了一個錯誤。如何使用Perl連接到SQL Server?

#!/usr/bin/perl -w 
use strict; 

use DBI; 

my $data_source = q/dbi:ODBC:192.168.3.137/; 
my $user = q/bharani/; 
my $password = q/123456/; 

# Connect to the data source and get a handle for that connection. 
my $dbh = DBI->connect($data_source, $user, $password) 
    or die "Can't connect to $data_source: $DBI::errstr"; 

我的錯誤是:

DBI connect('192.168.3.137','bharani',...) failed: [Microsoft][ODBC Driver Manager] Data source name not found and no default driver specified (SQL-IM002) at my sqlconnect.pl line 14 
Can't connect to dbi:ODBC:192.168.3.137: [Microsoft][ODBC Driver Manager] Data source name not found and no default driver specified (SQL-IM002) at mysqlconnect.pl line 14. 

SQL服務器的另一個系統上運行,我只是想與上述細節進行連接。請告訴我,我應該在系統中折扣DSN還是在我的程序中缺少任何內容?

回答

17

連接字符串中的所有內容'dbi:ODBC:'都被傳遞給ODBC驅動程序。對於MSSQL,試試這個連接字符串:

DBI->connect("dbi:ODBC:Driver={SQL Server};Server=192.168.3.137;UID=$user;PWD=$password") 

你可以找到connectionstrings.com

+0

我只是在我的本地創建的DSN一些更多的選擇,和它的工作發現,THX的提醒,這個網站我找不到perl + mssql snippet,你只需找到與.NET相關的數據庫並且db – Bharanikumar 2011-02-05 08:33:03