如何将IBM iSeries 2连接字符串中的SQL缺省库指示为AS/400?

gil*_*s27 5 .net database connection-string ibm-midrange

我正在使用IBM iSeries Access for Windows软件包连接到AS/400存储过程层.这提供了一个.NET DLL,其类与System.Data命名空间中的类相似.因此,我们使用它们的连接类实现并为其提供连接字符串.

有谁知道如何修改连接字符串以指示它应该使用的默认库?

Gus*_*bio 5

如果您通过 .NET连接:

Provider=IBMDA400;Data Source=as400.com;User Id=user;Password=password;Default Collection=yourLibrary;
Run Code Online (Sandbox Code Playgroud)

默认集合是设置程序应开始执行的库的参数。

如果您从 Windows 通过 ODBC连接(例如在控制面板中设置驱动程序):

DRIVER=Client Access ODBC Driver(32-bit);SYSTEM=as400.com;EXTCOLINFO=1;UID=user;PWD=password;LibraryList=yourLibrary
Run Code Online (Sandbox Code Playgroud)

在本例中,LibraryList是要设置的参数,记住这是用于 ODBC 连接的。

IBM 有两种驱动程序可以连接到 AS400,较旧的驱动程序使用上述连接字符串,如果您有 IBM 的最新版本客户端软件“System i Access for Windows”,那么您应该使用此连接字符串:

DRIVER=iSeries Access ODBC Driver;SYSTEM=as400.com;EXTCOLINFO=1;UID=user;PWD=password;LibraryList=yourLibrary
Run Code Online (Sandbox Code Playgroud)

最后一个几乎相同,只是DRIVER参数值发生变化。

如果您在.NET应用程序中使用它,请不要忘记将providerName参数添加到您的XML标记中,并定义用于连接的API,在本例中为OleDb:

providerName="System.Data.OleDb"
Run Code Online (Sandbox Code Playgroud)


Dil*_*e-O 1

您是否使用 OLE DB 的 Catalog Library List 参数?这就是我的连接字符串通常的样子:

<add name="AS400ConnectionString" connectionString="Data Source=DEVL820;Initial Catalog=Q1A_DATABASE_SRVR;Persist Security Info=False;User ID=BLAH;Password=BLAHBLAH;Provider=IBMDASQL.DataSource.1;**Catalog Library List=&quot;HTSUTST, HTEUSRJ, HTEDTA&quot;**" providerName="System.Data.OleDb" />
Run Code Online (Sandbox Code Playgroud)