luck 2012-06-25
今天在windows200764位的系统下安装db2,原应用程序是dominoR8.5.164位,
用代理运行
DimconAsNewOdbcconnection
DimqryAsNewOdbcquery
DimresultAsNewOdbcresultset
DimssAsNewNotesSession
DimcurDbAsNotesDatabase
DimcurDocAsNotesDocument
SetcurDb=ss.Currentdatabase
SetcurDoc=ss.Documentcontext
OnErrorGoToerrHandle
sPara=Evaluate(|@URLDecode("Domino";Request_Content)|,curDoc)
title=GetUrlPara(sPara(0),"title=","&")
user=GetUrlPara(sPara(0),"user=","&")
password=GetUrlPara(sPara(0),"pd=","")
Setqry.Connection=con
Setresult.Query=qry
Callcon.connectto(title,user,password)
MsgBox"连接成功"
result.Close
con.Disconnect
PrintXml("ok")
ExitSub
errHandle:
Ifcon.Geterror<>DBstsSuccessThen
con.Disconnect
MsgBox"Connect:"+con.Geterrormessage
endif
endsub
但出现以下提示
-----------------------------------
Connect:LS:DO-ODBCcouldnotcompletetherequestedoperation.
-----------------------------
经查询,原来是使用的ODBC配置程序不对,windowsserver2007R2企业版自带有两个版本的odbc配置程序:
64位版的位置:C:\windows\system32\odbcad32.exe
32位版的位置:C:\windows\sysWOW64\odbcad32.exe
在网上查到的比较完整解释:
在64位Windows系统中,默认“数据源(ODBC)”是64位的,包括“控制面板-》管理工具-》数据源”或在“运行”中直接运行“ODBCAD32”程序。如果客户端是32位应用程序,仍然需要配置32位ODBC数据源,这时需要运行“C:\Windows\SysWOW64\odbcad32.exe”来启动“ODBC数据源管理器”,添加32位的ODBC数据源。
安装上面的作法,程序可以运行了,当我有有疑问了:我得环境都是64位的,却要配置一个32位的odbc数据源,应用系统才能连接到db2,又如何解释?