我修改了以下示例 ASP 经典代码,以便它可以通过cscript
或运行wscript
,与 Oracle 8i 通信并使用在 Windows 2000 上运行的 Oracle ODBC 驱动程序 8.01.07.00,返回一个有效的shipper_id
. 这个主键字段是通过before insert or update
触发器填充的(如果需要,我可以包含它,但我已经确认它有效)。
但是,对于 Oracle 11、Oracle ODBC 驱动程序 11.02.00.03 和 Windows Server 2012,只返回一个空白值 - 为什么?
可以提供的任何帮助将不胜感激。请注意,除非没有其他选择,否则我宁愿不必切换到 OO4O 或使用 Oracle Provider for OLE DB。
Dim strCnxn, cnxn, rs
strCnxn = "DSN=OUR_DSN;uid=OUR_UID;pwd=OUR_PWD"
Set cnxn = Wscript.CreateObject("ADODB.Connection")
cnxn.Open strCnxn
Set rs = Wscript.CreateObject("ADODB.Recordset")
rs.Open "SHIPPER", cnxn, 1, 3, &H0002 'adOpenKeyset, adLockOptimistic, adCmdTable
rs.AddNew
rs("CARRIER_ID") = "13263"
rs("NAME") = "test-shipper"
rs.Update
Wscript.Echo("Shipper ID: " & rs("SHIPPER_ID"))
Wscript.Echo("Carrier ID: " & rs("CARRIER_ID"))
Wscript.Echo("Name: " & rs("NAME"))
rs.Close
Set rs = Nothing
Set cnxn = Nothing