Visual Basic ODBC AS400 iSeries加密

时间:2010-12-11 11:53:28

标签: vb6 odbc adodb ibm-midrange cryptography

我正在使用 ISeries Access ODBC驱动程序 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()函数驻留在加密库中,我已将它包含在我的ODBC中,当我在WinSQL中运行相同的查询(也使用ODBC)时,它会按预期返回数据,但是来自我的程序它返回数据而不解密(没有错误)。

此时我唯一能想到的是 Microsoft ActiveX Data Objects 2.8 库未考虑 F_DecFld()

谢谢。

2 个答案:

答案 0 :(得分:1)

根据http://publib.boulder.ibm.com/infocenter/iseries/v5r3/index.jsp?topic=/rzaii/rzaiiodbc17.htm获取ODBC跟踪,以查看正在进行的详细记录(并希望来自驱动程序的错误消息)

答案 1 :(得分:1)

需要将

加密库添加到AS400用户配置文件中,而不只是添加到ODBC驱动程序的库列表中。