asp.net中调用oracle 9i中的存储过程的请教

wyytht 2004-05-03 11:10:39


下面这段代码是我在Oracle 9i的方案下的enshi2004用户下根据向导定义的
(
p_id in number
)
as
begin
declare x number(30);
begin
select count(*) into x from enshi2004.cgfgxx where id = p_id;
if x > 0 then
insert into enshi2004.testclob values (555,'ft','hehe');
else
insert into enshi2004.testclob values (999,'ft','hehe');
end if;
end;
end usp_test;

我在一个测试页面中使用的代码如下:
String strConnect = System.Configuration.ConfigurationSettings.AppSettings["strConnectDB"].ToString(); //这条

语句是从web.config中取得连接字符串

OracleConnection oraConn = new OracleConnection(strConnect);

OracleCommand myCommand = new OracleCommand("enshi2004.usp_test",oraConn);

//其中enshi2004是我的一个用户名,我所使用的表和存储过程都是这个用户的。usp_test是存储过程名。见上。
myCommand.CommandType = CommandType.StoredProcedure;
myCommand.Parameters.Add("@p_id",245);
oraConn.Open();
myCommand.ExecuteNonQuery();

//每次总是这里出错,好像是调用存储过程出现的问题

oraConn.Close();
Response.Write("Success!");

提示错误如下:

ORA-01036: 非法的变量名/编号
说明: 执行当前 Web 请求期间,出现未处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。

异常详细信息: System.Data.OracleClient.OracleException: ORA-01036: 非法的变量名/编号

源错误:


行 34: myCommand.Parameters.Add("@p_id",245);
行 35: oraConn.Open();
行 36: myCommand.ExecuteNonQuery();行 37: //每次总是这里出错,

好像是调用存储过程出现的问题
行 38:


源文件: d:\保留\enshi\kjcgxx\testusp.aspx.cs 行: 36


请大虾指教!
谢谢!
...全文
122 3 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
qcf2003 2004-06-09
  • 打赏
  • 举报
回复
OracleCommand myCommand = new OracleCommand("usp_test",oraConn)myCommand.CommandType = CommandType.StoredProcedure;
myCommand.Parameters.Add("p_id",245);
jiezhi 2004-05-05
  • 打赏
  • 举报
回复
先在sqlplus里面验证你的存储过程能顺利执行,然后再到asp.net里面调试。
wyytht 2004-05-05
  • 打赏
  • 举报
回复
sql plus里面执行一点问题都没有。
我现在把调用存储过程的语句改成了
String strConnect = System.Configuration.ConfigurationSettings.AppSettings["strConnectDB"].ToString();
OracleConnection oraConn = new OracleConnection(strConnect);


OracleCommand myCommand = new OracleCommand();
myCommand.Connection = oraConn;
OracleParameterCollection myParamCollection = myCommand.Parameters;
OracleParameter myNewParameter = myParamCollection.Add("p_id", Convert.ToInt32("245"));
myCommand.CommandType = CommandType.StoredProcedure;
myCommand.CommandText = "execute enshi2004.usp_test()";


oraConn.Open();
myCommand.ExecuteNonQuery ();
//每次总是这里出错,好像是调用存储过程出现的问题

oraConn.Close();
Response.Write("Success!");
但是,还是出错,提示错误是:
ORA-06550: 第 1 行, 第 15 列: PLS-00103: 出现符号 "ENSHI2004"在需要下列之一时: := . ( @ % ; immediate 符号 ":=" 被替换为 "ENSHI2004" 后继续。
说明: 执行当前 Web 请求期间,出现未处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。

异常详细信息: System.Data.OracleClient.OracleException: ORA-06550: 第 1 行, 第 15 列: PLS-00103: 出现符号 "ENSHI2004"在需要下列之一时: := . ( @ % ; immediate 符号 ":=" 被替换为 "ENSHI2004" 后继续。

源错误:


行 42:
行 43: oraConn.Open();
行 44: myCommand.ExecuteNonQuery ();
行 45: //每次总是这里出错,好像是调用存储过程出现的问题
行 46:


源文件: d:\保留\enshi\kjcgxx\testusp.aspx.cs 行: 44
ASP.NET权限管理系统(FrameWork) 1.起源 在我们开发软件过程,经常会需要开发一个后台管理程序.用于管理我们开发的前台软件. 当你开发的软件越来越多的时候,你的管理后台也会越来越多.这时如果有一个统一的管理后台.来进来管理.有统一台帐号,统一的授权来进行多个后台的管理就好了. FrameWork就是在这样的需求下产生了. 2.功能 其主要的功能就是,进行后台管理模块整合. 1)其可以支持多个应用,多个模块的权限管理. 2)支持Access和MsSql200/2005及Oracle9i以上. 3)采用角色来进行权限的授权,每个用户可以属于多个角色,享有交差权限. 4)整合方便,权限检测采用httpmodule方式检测.基本不用对原有程序进行修改,便可将原有程序进行整合. 5)可视化编辑,全新的Menu和Tab控件.支持拖拉式编辑. 6)统一的事件日志管理,所有登陆操作都有安全记录. 7)每个模块的每个栏目对应一个目录, 栏目的权限默认抽象分为(查看/新增/修改/删除/排序/打印/备用A/备用B),每栏目权限可最多扩展为20个自定义权限. 8)可通过目录web.config来进行目录文件权限配置,可直接将某个文件名设定到相对应的权限上. 1.0.7版更新记录 1.TabOptionWebControls能自动拉出,但HeadMenuWebControls却不能 2.支持在web.config配置Url参数权限判断 3.用户管理模块,用户类型增加管理员.只有管理员和超用用户才能设置角色.且只能操作自己创建的角色.超级用户可以设置所有角色给用户.禁止登陆必需是管理员和超级用户才能使用 4.角色管理必需是管理员才能进入角管理色模块.且管理员只能操作自己创建的角色.超级用户可以操作所有用户创建角色. 5.在角色管理,当前用户可分配的角色权限不能超过自身的权限. 6.异常日志,增加出错网址记录. 7.增加流行菜单icon图标. 8.增加自定义权限功能,每模块可自定义20个权限 9.增加查看自己登陆日志 ok 10.修改应用字段,增加title,disabled,Readonly属性 11.修改在线用户处理类,无法正常清除到期用户. 12.修改出错时,只针对manager目录跳转 13.修正ManagementClass无权限读取错误 14在Firefox下选择部门后,清除再选择部门,文本框为空, 树菜单在forefox下打开和关闭无效? 15.将在线用户缓存放入统一缓存管理. 16.将缓存调用统一接口 17.增加为FileTxtLogs类增加 WriteServiceLog 方法,用于记录服务程序日志. 18.应用字段模块,点击列表应用字段无效 19.修改应用模块编码,删除原对应模块编码的权限. 20.修改用户多角色权限重叠判断bug. 21.修改操作提示信息使用gzip压缩存储为cookies.
ASP.NET权限管理系统(FrameWork) 1.0.7源码 1.起源 在我们开发软件过程,经常会需要开发一个后台管理程序.用于管理我们开发的前台软件. 当你开发的软件越来越多的时候,你的管理后台也会越来越多.这时如果有一个统一的管理后台.来进来管理.有统一台帐号,统一的授权来进行多个后台的管理就好了. FrameWork就是在这样的需求下产生了. 2.功能 其主要的功能就是,进行后台管理模块整合. 1)其可以支持多个应用,多个模块的权限管理. 2)支持Access和MsSql200/2005及Oracle9i以上. 3)采用角色来进行权限的授权,每个用户可以属于多个角色,享有交差权限. 4)整合方便,权限检测采用httpmodule方式检测.基本不用对原有程序进行修改,便可将原有程序进行整合. 5)可视化编辑,全新的Menu和Tab控件.支持拖拉式编辑. 6)统一的事件日志管理,所有登陆操作都有安全记录. 7)每个模块的每个栏目对应一个目录, 栏目的权限默认抽象分为(查看/新增/修改/删除/排序/打印/备用A/备用B),每栏目权限可最多扩展为20个自定义权限. 8)可通过目录web.config来进行目录文件权限配置,可直接将某个文件名设定到相对应的权限上. 1.0.7版更新记录 1.TabOptionWebControls能自动拉出,但HeadMenuWebControls却不能 2.支持在web.config配置Url参数权限判断 3.用户管理模块,用户类型增加管理员.只有管理员和超用用户才能设置角色.且只能操作自己创建的角色.超级用户可以设置所有角色给用户.禁止登陆必需是管理员和超级用户才能使用 4.角色管理必需是管理员才能进入角管理色模块.且管理员只能操作自己创建的角色.超级用户可以操作所有用户创建角色. 5.在角色管理,当前用户可分配的角色权限不能超过自身的权限. 6.异常日志,增加出错网址记录. 7.增加流行菜单icon图标. 8.增加自定义权限功能,每模块可自定义20个权限 9.增加查看自己登陆日志 ok 10.修改应用字段,增加title,disabled,Readonly属性 11.修改在线用户处理类,无法正常清除到期用户. 12.修改出错时,只针对manager目录跳转 13.修正ManagementClass无权限读取错误 14在Firefox下选择部门后,清除再选择部门,文本框为空, 树菜单在forefox下打开和关闭无效? 15.将在线用户缓存放入统一缓存管理. 16.将缓存调用统一接口 17.增加为FileTxtLogs类增加 WriteServiceLog 方法,用于记录服务程序日志. 18.应用字段模块,点击列表应用字段无效 19.修改应用模块编码,删除原对应模块编码的权限. 20.修改用户多角色权限重叠判断bug. 21.修改操作提示信息使用gzip压缩存储为cookies.
其主要的功能就是,进行后台管理模块整合. 1)其可以支持多个应用,多个模块的权限管理. 2)支持Access和MsSql200/2005及Oracle9i以上. 3)采用角色来进行权限的授权,每个用户可以属于多个角色,享有交差权限. 4)整合方便,权限检测采用httpmodule方式检测.基本不用对原有程序进行修改,便可将原有程序进行整合. 5)可视化编辑,全新的Menu和Tab控件.支持拖拉式编辑. 6)统一的事件日志管理,所有登陆操作都有安全记录. 7)每个模块的每个栏目对应一个目录, 栏目的权限默认抽象分为(查看/新增/修改/删除/排序/打印/备用A/备用B),每栏目权限可最多扩展为20个自定义权限. 8)可通过目录web.config来进行目录文件权限配置,可直接将某个文件名设定到相对应的权限上. 1.0.7版更新记录 1.TabOptionWebControls能自动拉出,但HeadMenuWebControls却不能 2.支持在web.config配置Url参数权限判断 3.用户管理模块,用户类型增加管理员.只有管理员和超用用户才能设置角色.且只能操作自己创建的角色.超级用户可以设置所有角色给用户.禁止登陆必需是管理员和超级用户才能使用 4.角色管理必需是管理员才能进入角管理色模块.且管理员只能操作自己创建的角色.超级用户可以操作所有用户创建角色. 5.在角色管理,当前用户可分配的角色权限不能超过自身的权限. 6.异常日志,增加出错网址记录. 7.增加流行菜单icon图标. 8.增加自定义权限功能,每模块可自定义20个权限 9.增加查看自己登陆日志 ok 10.修改应用字段,增加title,disabled,Readonly属性 11.修改在线用户处理类,无法正常清除到期用户. 12.修改出错时,只针对manager目录跳转 13.修正ManagementClass无权限读取错误 14在Firefox下选择部门后,清除再选择部门,文本框为空, 树菜单在forefox下打开和关闭无效? 15.将在线用户缓存放入统一缓存管理. 16.将缓存调用统一接口 17.增加为FileTxtLogs类增加 WriteServiceLog 方法,用于记录服务程序日志. 18.应用字段模块,点击列表应用字段无效 19.修改应用模块编码,删除原对应模块编码的权限. 20.修改用户多角色权限重叠判断bug. 21.修改操作提示信息使用gzip压缩存储为cookies. 登陆用户名和密码都是51aspx

17,140

社区成员

发帖
与我相关
我的任务
社区描述
Oracle开发相关技术讨论
社区管理员
  • 开发
  • Lucifer三思而后行
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧