代码之家  ›  专栏  ›  技术社区  ›  ErrantBard rafa.pereira

RODBC到db2的可信连接-语法

  •  0
  • ErrantBard rafa.pereira  · 技术社区  · 8 年前

    我希望在连接到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")
    

    错误代码

    错误:状态28000,代码8015

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

    编辑:我们正在为这个应用程序使用iSeries/IBM,其他东西使用SQL Server

    2 回复  |  直到 8 年前
        1
  •  1
  •   jmarkmurphy    8 年前

    IBM用于 trusted connection single sign-on 单一登录 通过使用IBM i进行设置,您将能够跨ODBC使用windows登录来访问DB2。这就是windows和Active Directory的情况。在你这么做之前,IBM我没有什么可信任的。以下是一份更详细的手册:

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

        2
  •  1
  •   Kevin Adler    8 年前

    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")
    

    https://www.ibm.com/support/knowledgecenter/ssw_ibm_i_73/rzaik/connectkeywords.htm

    推荐文章