我写了一个接口程序,通过asp调用用 Oracle 存储过程,将Access里面的数据,写入到oracle数据库里面。总是提示参数错误,或者数据类型不正确,可能是时间类型 数据错误。
   有哪位高手知道 Access 数据库 里面的时间类型数据 向 oracle数据库写入时应该注意的问题啊!源程序如下:
<!-- #include file="ADOVBS.inc" --> 导出开始:
 
<br>
连接ACCESS据库 信息:
<!--#include file="Conn_source.asp" --><br>
连接Oracle据库 信息:
<!--#include file="Conn_object.asp" --><%
Dim ToSn
ToSn = "01155618679422551916237812111578" '加密序列号Dim ToZt
ToZt = "1" Dim cmd
Dim getres '导入返回值
Dim geterr '具体错误信息'---------  从 源 ACCESS数据库 读取数据:Sdate,Edate为表单投递的起止时间sqls = "select * from Examinee where Ldate between #"& Sdate &"# and #"& Edate &"#"
rs1.open sqls,conn1,1,1
do while not rs1.eof Dim MaxScore '考试分数
MaxScore = split(rs1("score"),";")       '从一组考试分数里面取得最大值

if MaxScore(0) >= 90 then '考试成绩超过90才导入oralce数据库!

'------- 调用Oracle存储过程开始:向 目标ORACLE数据库 写入 Dim Todate
Todate = rs1("Examdate")&" 10:00:00" '把Access里面的 Examdate 短日期字段,转换成长日期型 !!!! Set cmd  =  Server.CreateObject("ADODB.Command")
cmd.ActiveConnection   = conn2  

cmd.CommandType   = adCmdStoredProc
cmd.CommandText   = "drv_interface.write_km1" '调用oralce的存储过程!

Dim lsh,sfzmhm,Kscx,Ksrq,Kscj,Kscs,ksy1,ksy2,ZT,sn '存储过程内定义的 输入参数,下面有类型说明
Dim res,err '存储过程内定义的 输出参数,下面有类型说明

CMD.Parameters.Append CMD.CreateParameter("Lsh",adVarchar, adParamInput,30,rs1("No")) '考试编号:String
CMD.Parameters.Append CMD.CreateParameter("sfzmhm",adVarchar, adParamInput,30,rs1("IDnumber")) '身份证号:String
CMD.Parameters.Append CMD.CreateParameter("Kscx",adVarchar, adParamInput,30,rs1("LType")) '考试车型:String
CMD.Parameters.Append CMD.CreateParameter("Ksrq",addate, adParamInput ,Todate) '考试日期:Datetime (精确到秒,不可空)
CMD.Parameters.Append CMD.CreateParameter("Kscj",adInteger, adParamInput,MaxScore(0)) '考试成绩:integer (介于0和100,不可空)
CMD.Parameters.Append CMD.CreateParameter("Kscs",adInteger, adParamInput,rs1("times")) '考试次数:integer (介于0和99,不可空)
CMD.Parameters.Append CMD.CreateParameter("ksy1",adVarchar, adParamInput,30,ToKsy1) '考试员1:String
CMD.Parameters.Append CMD.CreateParameter("ksy2",adVarchar, adParamInput,30,ToKsy2) '考试员2:String
CMD.Parameters.Append CMD.CreateParameter("ZT",adVarchar, adParamInput,1,ToZt) '状态位:String
CMD.Parameters.Append CMD.CreateParameter("sn",adVarchar, adParamInput,40,ToSN) '序列号:String
CMD.Parameters.Append CMD.CreateParameter("res",adInteger, adParamOutput ) '返回值:"0-操作正确,1-无此记录,更新失败,2-记录已经存在,插入失败,3-字段信息不符合要求,4-插入/更新数据库失败
CMD.Parameters.Append CMD.CreateParameter("err",adVarchar, adParamOutput,30 ) '返回值

CMD.Execute
getres=CMD(res)
geterr=CMD(err)

Dim rsnew
set rsnew= Server.CreateObject("adodb.recordset")
Set cmd  =  Server.CreateObject("ADODB.Command")

cmd.ActiveConnection = nothing '关闭CMD数据库连接。
Set cmd  =  nothing

'------- 调用Oracle存储过程结束 end if
rs1.movenext
loop
rs1.close  %>