2008-09-17 13 views
5

Tôi đang kết nối với một lớp thủ tục được lưu trữ AS/400 bằng gói IBM iSeries Access dành cho Windows. Điều này cung cấp một DLL .NET với các lớp tương tự như trong các không gian tên System.Data. Vì vậy, chúng tôi sử dụng việc triển khai lớp kết nối và cung cấp cho nó chuỗi kết nối.Làm thế nào để chỉ ra thư viện mặc định SQL trong một chuỗi kết nối IBM iSeries 2 với AS/400?

Có ai biết cách tôi có thể sửa đổi chuỗi kết nối để chỉ ra thư viện mặc định mà nó nên sử dụng không?

Trả lời

1

Bạn có đang sử dụng tham số Danh sách thư viện danh mục cho OLE DB không? Đây là những gì chuỗi kết nối của tôi thường trông giống như:

<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" /> 
2

Snippet từ một số mã nguồn Delphi bằng cách sử dụng điều khiển Client Access Express. Có lẽ không chính xác những gì bạn đang tìm kiếm, nhưng nó có thể giúp những người khác vấp ngã khi đăng bài này. Phần DBQ là thư viện mặc định và phần System là tên máy chủ lưu trữ AS400/DB2.

ConnectionString := 
    'Driver={Client Access ODBC Driver (32-bit)};' + 
    'System=' + System + ';' + 
    'DBQ=' + Lib + ';' + 
    'TRANSLATE=1;' + 
    'CMT=0;' + 
    //'DESC=Client Access Express ODBC data source;' + 
    'QAQQINILIB=;' + 
    'PKG=QGPL/DEFAULT(IBM),2,0,1,0,512;' +  
    'SORTTABLE=;' + 
    'LANGUAGEID=ENU;' + 
    'XLATEDLL=;' + 
    'DFTPKGLIB=QGPL;'; 
4

Nếu bạn đang kết nối qua NET:

Provider=IBMDA400;Data Source=as400.com;User Id=user;Password=password;Default Collection=yourLibrary; 

Mặc định Collection là tham số mà bộ thư viện nơi các chương trình của bạn nên bắt đầu thực hiện.

Và nếu bạn đang kết nối qua ODBC từ Windows (như thiết lập một trình điều khiển trong bảng điều khiển):

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

Trong trường hợp này LibraryList là tham số để thiết lập, hãy nhớ điều này dành cho kết nối ODBC.

Có hai trình điều khiển từ IBM để kết nối với AS400, phiên bản cũ hơn sử dụng chuỗi kết nối ở trên, nếu bạn có phiên bản mới nhất của phần mềm máy khách từ IBM gọi là "System i Access for Windows" thì bạn nên sử dụng kết nối chuỗi:

DRIVER=iSeries Access ODBC Driver;SYSTEM=as400.com;EXTCOLINFO=1;UID=user;PWD=password;LibraryList=yourLibrary 

cuối cùng là khá nhiều như nhau, chỉ có DRIVER thay đổi giá trị tham số.

Nếu bạn đang sử dụng này trong một ứng dụng .NET đừng quên để thêm providerName tham số vào thẻ XML của bạn và xác định các API được sử dụng để kết nối đó sẽ là OleDb trong trường hợp này:

providerName="System.Data.OleDb"