用asp调用oracle存储过程:
---------------------------------------------------------------
set conn = ...
set rs = Server.CreateObject( ADODB.RecordSet )
Set cmd = Server.CreateObject( ADODB.Command )
cmd.ActiveConnection = conn
cmd.CommandType = adCmdStoredProc
cmd.CommandText = procedureName
cmd.Parameters.Append CMD.CreateParameter(VarName,Type,I/O,Size,VarValue) '输入变量 0 or n
cmd.Parameters.Append CMD.CreateParameter(VarName,Type,I/O) '输出变量 0 or n
set rs= cmd.execute()
---------------------------------------------------------------
无法取得返回参数?系统总是提示
OraOLED 错误‘80040e14’
ORA-06550:第一行,第7列 PLS-00306,参数类型错误
有哪位高手 对asp和oracle编程熟悉的 请指点一下啊!
QQ:65189666
解决方案 »
- 关于JOB!!急。
- Oracle SQL 重名中文 ORA-00911: invalid character
- 简单问题,没人知的。。SQL/PLUS 窗口登陆,查询后不能拉动滚动条??
- 100分,问个比较难的统计的问题,涉及行之间的数据比较
- select 排序 取序号
- sqlplus问题!
- oracle8.1.7 for linux安装出现的问题
- oracle里的数据怎么导成为以TAB分隔列,回车分割行的txt文本啊?
- 如何创建一个oracle数据库?
- 请问在MacOS10.10上安装Oracle哪个版本呢
- 哪位熟悉OracleMigrationWorkbench-ORACLE数据迁移工具的安装使用?
- 250分 求解自定义聚合函数的问题,谁解决全送谁!
有哪位高手知道 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 %>