2017-08-16 70 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") 

編輯:我們在i系列/ IBM爲這個應用程序,其他的東西使用SQL-服務器

+0

您是否在iSeries/IBM i上,如上面的代碼段所示? –

+0

@data_henrik是的,我會編輯清楚 – ErrantBard

+0

我猜你在Windows中使用域安全。您是否使用IBM i設置了單點登錄? – jmarkmurphy

回答

1

Trusted_Connection是DB2 Connect驅動程序的關鍵字。它不受IBM i Access ODBC驅動程序支持。如果您要使用IBM i Access ODBC驅動程序連接而不使用用戶名/密碼,則需要使用Kerberos。您可以通知該使用SIGNON=4在ODBC DSN屬性或在連接字符串如

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

的IBM i的訪問ODBC驅動程序連接關鍵字記錄在這裏:https://www.ibm.com/support/knowledgecenter/ssw_ibm_i_73/rzaik/connectkeywords.htm

要設置Kerberos,請參閱PDF格式在jmarkmurphy的答案。