2016-09-13 6 views
2

Perlスクリプトを使用してMS SQLサーバーに接続しようとしています。ここにコードがあります。DBIを使用してSQL Serverに接続

#!/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; 

しかし、私はこの問題で私を助けてください enter image description here

以下のようにエラーを取得しています。新しいコードもありがとうございます。

TIA

+3

画像としてテキストを投稿しないでください。読みにくく、コピー&ペーストが不可能です。また、多くのブラインド加入者を覚えておく必要があります。 – Borodin

+4

@Borodin:私は完全に盲目ではありません(85%)が、私はあなたに同意できませんmore :) – DerpyNerd

答えて

2

エラーは、データソース名が見つかりませんでした。

あなたのdsnが間違っていることを意味します。

x64サーバーで作業している場合は、x86およびx64アプリケーション用に異なるODBC設定があることに注意してください。 [参照:https://stackoverflow.com/a/5034297/257635]

正しい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

正しいDSNを取得する正しい方法を教えてください。 –

+0

http://www.connectionstrings.com/ –

関連する問題