Visual Basic ODBC AS400 криптография iSeries - PullRequest
1 голос
/ 11 декабря 2010

Я использую Драйвер ODBC для ISeries Access для извлечения данных из AS400 .

Код подключения выглядит примерно так:

Set myConnect as new ADODB.Connection

With myConnect
.CursorLocation = adUseClient
.Provider = "MSDASQL.1"
.Open "User ID=<user>;Password=<password>;Data Source=<dsource>"
End With

До сих пор это работало нормально.

Проблема в том, что мы недавно ввели шифрование для некоторых (ColOne) столбцов библиотеки.

Встроенный SQLСтрока, которая раньше выглядела так:

SELECT ColOne FROM libOne.ColOne WHERE ColOne = <val>

Теперь должна выглядеть так:

SELECT F_DecFld('FieldIdentifier',ColOne) AS ColOne FROM libOne.ColOne WHERE ColOne = <val>

Я знаю, что функция F_DecFld () находится в библиотеке crypto, я включила еев моем ODBC, и когда я выполняю тот же запрос в WinSQL (также использует ODBC), он возвращает данные, как и ожидалось, , но из моей программы он возвращает данные без расшифровки (без ошибок).

В данный момент я могу думать только о том, что библиотека Microsoft ActiveX Data Objects 2.8 не учитывает F_DecFld () ?

Спасибовы.

Ответы [ 2 ]

1 голос
/ 13 декабря 2010

crypto библиотека должна быть добавлена ​​в профиль пользователя AS400, а не только в список библиотек в драйвере ODBC.

1 голос
/ 11 декабря 2010

Получите трассировку ODBC согласно http://publib.boulder.ibm.com/infocenter/iseries/v5r3/index.jsp?topic=/rzaii/rzaiiodbc17.htm, чтобы увидеть подробный отчет о происходящем (и, надеюсь, сообщение об ошибке от драйвера)

...