2017-08-16 6 views
0

私たちのDB2データベースに接続するときは、信頼できる接続を使用したいと思います。私たちが知っている限り、それは可能なはずです...しかし、私はそれを行う方法に関する情報を見つけるのは難しいです。信頼できる接続RODBCからDB2へ - 構文

私のpwdとuidを提供するが、信頼されていない接続を提供している場合、以下のコードは動作します。

私は信頼できる接続を使用することができ、それが失敗するか、または構文が間違っていて、正しい構文で成功したのではないかと疑問です。

SQL-Serverのを探していたとき、私は結果のトンを得たが、DB2は、ブラックボックスの詳細です...

コード

library(RODBC) 

kSysName <- "MySys" 
kDbName <- "MyDB" 

contst <- odbcDriverConnect("Driver=iSeries Access ODBC Driver; 
          System = kSysName; Database=kDbName; 
          Trusted_Connection = Yes") 

エラーコード

ERROR: state 28000, code 8015

作品:

uid <- "MyUserName" 
pwd <- "MyPwd" 
contst <- odbcDriverConnect("Driver=iSeries Access ODBC Driver; 
          System = kSysName; Database=kDbName; 
          uid = uid; pwd = pwd") 

編集:私たちは、このアプリケーションのためのiSeries/IBMにしている、他のものは、SQL-Serverの

+0

上記のスニペットに示されているように、iSeries/IBM iにいますか? –

+0

@data_henrikはい、わかりやすくするために編集します – ErrantBard

+0

Windowsでドメインセキュリティを使用していると思います。 IBM iでシングルサインオンを設定していますか? – jmarkmurphy

答えて

1

を使用してIBMがtrusted connectionのために使用する用語はsingle sign-onです。 single sign-onをIBM iとセットアップすると、ODBC経由でWindowsログインを使用してDB2にアクセスすることができます。これがWindowsとActive Directoryで起こっていることです。そうするまで、IBM iには何も信頼できません。ここではより詳細にそれを説明するマニュアルは、次のとおりです。

https://www.ibm.com/support/knowledgecenter/ssw_ibm_i_72/rzamz/rzamzpdf.pdf

1

Trusted_Connectionは、DB2 Connectドライバキーワードです。 IBM i Access ODBCドライバーではサポートされていません。 IBM i Access ODBCドライバーを使用してユーザー名/パスワードなしで接続する場合は、Kerberosを使用する必要があります。 https://www.ibm.com/support/knowledgecenter/ssw_ibm_i_73/rzaik/connectkeywords.htm

はを参照して、Kerberosを設定するには:あなたは、IBM iのアクセスODBCドライバ接続キーワードがここに文書化されているODBC DSNのプロパティで、または接続文字列にSIGNON=4例えば、

contst <- odbcDriverConnect("Driver=iSeries Access ODBC Driver; 
          System = kSysName; Database=kDbName; 
          SIGNON=4") 

を使用して、この信号を送ることができますjmarkmurphyの答えのPDF。

関連する問題