web-dev-qa-db-ja.com

PerlをSQLServerに接続するにはどうすればよいですか?

ユーザーID、パスワード、データベース名、データソースの詳細があります。 PerlでMSSQLサーバーに接続したい。次のスニペットを使用しましたが、エラーが発生します。

#!/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に折り目を付ける必要がありますか、それともプログラムに不足しているものがありますか?

10
Bharanikumar

接続文字列の'dbi:ODBC:'に続くものはすべて、ODBCドライバーに渡されます。MSSQLの場合は、次の接続文字列を試してください。

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

connectionstrings.com でさらにいくつかの選択肢を見つけることができます

17
bvr