2008-09-17 1 views
5

Я подключаюсь к уровню хранимых процедур AS/400, используя пакет IBM iSeries Access для Windows. Это обеспечивает .NET DLL классами, аналогичными классам в пространстве имен System.Data. Таким образом, мы используем их реализацию класса соединения и предоставляем ему строку соединения.Как указать библиотеку SQL по умолчанию в строке подключения IBM iSeries 2 к AS/400?

Кто-нибудь знает, как я могу изменить строку подключения, чтобы указать библиотеку по умолчанию, которую он должен использовать?

ответ

1

Вы используете параметр списка библиотеки каталогов для OLE DB? Это то, что моя строка соединения обычно выглядит так:

<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

Фрагмент из исходного кода Delphi с использованием драйвера Client Access Express. Вероятно, не совсем то, что вы ищете, но это может помочь другим, которые наткнулись на этот пост. Часть DBQ является библиотекой по умолчанию, а частью System является имя хоста 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

При подключении через .NET:

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

По умолчанию Коллекция является параметром, который устанавливает библиотеку, где ваши программы должны начать выполнение.

И если вы подключаетесь через ODBC с Windows, (как настройка драйвера в панели управления):

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

В этом случае 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 

Последнее в значительной степени то же самое, только ВОДИТЕЛЯ изменения значений параметров.

Если вы используете это в приложении .NET не забудьте добавить ProviderName параметр к вашему XML-тега и определить API, используемый для подключения, который будет OleDb в этом случае:

providerName="System.Data.OleDb"