在 LotusScript 中为 IBM Notes 应用程序创建 Oracle LCConnection 以访问我的 Oracle Inventory 服务器数据时,我收到一条奇怪的警告消息。
警告消息如下:
连接器消息:字符集覆盖"覆盖甲骨文" 从源 Oracle Server 到 AL32UTF8 (LCSTREAMFMT 171) 的代码页, 连接器"oracle",方法
为了获取此警告消息,我在 IBM Notes 应用程序中使用了以下诊断代码:
If (gLCSession.status = LCSUCCESS) Then
connect = True
gIsConnected = True
Print "Connexion établie"
Else
Dim statusTxt As String
Dim extcode As Long
Dim exttext As String
Call gLCSession.GetStatus (statusTxt, extcode, exttext)
If (gLCSession.Status = LCFAIL_EXTERNAL) Then
Print "External fail message: " & exttext & " code #" & CStr(extcode)
Else
Print "Connector message: " & statusTxt
End If
End If
我的应用程序在 Windows Server 2012 x64 上的 IBM Domino 服务器 9.0.1 FP10 x64 上运行。此服务器上还安装了 Oracle 客户端 12.1.0.2 x64,以便与 Oracle 清单 EBS 服务器进行通信。
经过调查,我意识到我的 Oracle 库存服务器设置为接收AL32UTF8字符集消息。
为了静默此客户机 oracle 连接器消息,我使用以下值修改了 Domino 服务器中的 Notes.ini 文件:
EIOracle8NativeText=AL32UTF8
这对我来说没问题,因为它不会对我的 Domino 服务器上的其他应用程序产生负面影响。
或者,我在这里读到,这可以通过将AL32UTF8分配给NLS_LANG注册表项在 Oracle 客户端级别进行配置。另一种选择是在调用 LCConnection 流式处理函数时将字符集作为参数注入。