私はperl DBIを使用してSQL Serverに接続しています。このサーバーはWindows認証を使用します。この情報をDBI経由でSQL Serverに渡すにはどうすればよいですか?Perl DBI:Windows認証を使用するSQL Serverに接続する
2
A
答えて
2
「Windows認証を使用する」とは、スクリプトがWindows上で実行されることを意味します。その後、TIMTOWTDI。あなたの代わりにODBCのADOを使用することができますし、DSNを作成する必要はありません。
my $db_instance = ".\\SQLEXPRESS";
my $db_name = "AdventureWorks";
my $db_user = "sa";
my $db_pass = "...";
my $n = 0;
for my $cs (
"DBI:ODBC:Driver={SQL Server};Server=$db_instance;Database=$db_name;UID=$db_user;PWD=$db_pass"
, "DBI:ODBC:Driver={SQL Server};Server=$db_instance;Database=$db_name;"
, "DBI:ODBC:DSN=AdvWork;"
, "DBI:ADO:DSN=AdvWork;"
, "DBI:ADO:Provider=SQLNCLI.1;Integrated Security=SSPI;Persist Security Info=False;Initial Catalog=$db_name;Data Source=$db_instance;"
, "DBI:ADO:Provider=SQLOLEDB.1;Persist Security Info=False;User ID=sa;PWD=$db_pass;Initial Catalog=$db_name;Data Source=$db_instance;"
, "DBI:ADO:Provider=SQLNCLI10.1;Integrated Security=SSPI;Persist Security Info=False;User ID=\"\";Initial Catalog=$db_name;Data Source=$db_instance;Initial File Name=\"\";Server SPN=\"\";"
) {
my $dbh = DBI->connect($cs) or die("\nCONNECT ERROR:\n$DBI::errstr");
my $wtf = $cs;
$wtf =~ s/$db_pass/secret/;
printf "%2d CS: '%s'\n", ++$n, $wtf;
$dbh->disconnect();
}
出力:
xpl.pl::Main started using Perl 5.010000 on MSWin32.
will call CnctMSSS - connect to MS SQLServer (SQLExpress)
1 CS: 'DBI:ODBC:Driver={SQL Server};Server=.\SQLEXPRESS;Database=AdventureWorks;UID=sa;PWD=secret'
2 CS: 'DBI:ODBC:Driver={SQL Server};Server=.\SQLEXPRESS;Database=AdventureWorks;'
3 CS: 'DBI:ODBC:DSN=AdvWork;'
4 CS: 'DBI:ADO:DSN=AdvWork;'
5 CS: 'DBI:ADO:Provider=SQLNCLI.1;Integrated Security=SSPI;Persist Security Info=False;Initial Catalog=Advent
ureWorks;Data Source=.\SQLEXPRESS;'
6 CS: 'DBI:ADO:Provider=SQLOLEDB.1;Persist Security Info=False;User ID=sa;PWD=secret;Initial Catalog=Adventur
eWorks;Data Source=.\SQLEXPRESS;'
7 CS: 'DBI:ADO:Provider=SQLNCLI10.1;Integrated Security=SSPI;Persist Security Info=False;User ID="";Initial C
atalog=AdventureWorks;Data Source=.\SQLEXPRESS;Initial File Name="";Server SPN="";'
CnctMSSS returned 0 [5.858424 secs]
xpl.pl::Main done. (0)
あなたは[this contributionに基づく](1)を比較し、(2)の場合は、ユーザー情報をスキップするだけでデータベースに接続することができます。ドライバ/プロバイダによっては「Integrated Security = SSPI」の追加が好きかもしれません。
Hereは、接続文字列を試すのに役立つ必要がある場合は、良い出発点です。
1
DBD :: ODBCを使用しているとします。 Windows認証を使用するODBCアドミニストレータでSQL Server用のデータソースを作成し、ユーザー名とパスワードなしでDBIのconnectメソッドを呼び出します。
関連する問題
- 1. Windows認証接続文字列を使用してOLEDBを使用してSQL Serverに接続する方法
- 2. Kerberos/AD認証を使用したSQL Server ODBC接続
- 3. Windows認証を使用してローカルSQL Serverデータベースに接続するための接続文字列
- 4. Windows認証を使用してManagement StudioでSQL Serverに接続します。
- 5. Windows認証を使用して従来のASPからSQL Serverデータベースに接続
- 6. UNIXサーバーからWindows認証を使用してSQL Serverデータベースに接続
- 7. SQL Serverの接続C#:認証Windowsの代わりにコンピュータ名を使用
- 8. SQL Server 2005のSQL認証の接続文字列
- 9. プロキシ認証を使用してTeam Foundation Server(TFS)に接続する
- 10. Windows認証を使用したwso2 dssからSQL Serverへの接続
- 11. JIRAプラグインでWindows認証を使用したSQL ServerへのJDBC URL接続
- 12. SQL ServerのWindows認証およびWindows認証とSQL Serverには、Hibernate 4.3を使用して、接続しようとすると
- 13. SQL Server 2000のインストール - Windows認証での信頼された接続の使用
- 14. mssqlモジュールを使用してNode.JSからWindows認証でSQL Serverに接続する方法
- 15. Windows認証を使用してSSMSでリモートSQL Serverに接続する方法は?
- 16. がマイクロソフトからPHPドライバーを使用してSQL Serverに接続するためのWindows認証
- 17. C++/CLIを使用してSQL Serverに接続する方法
- 18. ActiveRecordを使用してSQL Serverに接続する
- 19. ODBCを使用してSQL Server 2008に接続する
- 20. pypyodbcを使用してSQL Serverに接続する
- 21. R - RSQLServerを使用してSQL Serverに接続する
- 22. Rを使用してSQL Serverに接続する方法は?
- 23. MacでiODBCを使用してMS SQL Serverに接続する
- 24. Visual Studio(SQL Serverオブジェクトエクスプローラ)に接続するためにAzure PortalでSQL認証パスワードを検索する場所
- 25. Node.js SQL ServerのWindows認証との接続
- 26. DBIを使用してSQL Serverに接続
- 27. IBM CognosをSQL Serverに接続する
- 28. LINQPadをリモートSQL Serverに接続する
- 29. SQL Serverの接続文字列で使用する認証方法は何ですか?
- 30. Windows認証を使用しているSQL Server
どのようなサーバーですか?こちらもご覧ください: http://stackoverflow.com/q/202962/1030675 – choroba
MS SQL Server。問題は、Windows認証を使用する必要があり、ユーザー名とパスワードは使用しないことです – Aks