• 全部
  • Oracle 基础和管理
  • Oracle 高级技术
  • Oracle 认证与考试
  • 职位交流
  • 问答

ORA-06550,PLS-00103错误,求助!

ga3ga3 2010-10-19 01:49:15
在toad for oracle10中对存储过程调试没有问题!
在.NET中调试,报上面的错误!

其中页面代码为

public int BlackInfoAdd(GM.Model.BLACKINFO model)
{
int rowsAffected;
OracleParameter[] parameters = {
new OracleParameter("ReturnValue",OracleType.Int16,4,ParameterDirection.ReturnValue,false,0,0,string.Empty,DataRowVersion.Default,null),
new OracleParameter("vFlag", OracleType.Number),
new OracleParameter("vprior", OracleType.Number),
new OracleParameter("vblackNumber", OracleType.Number)
};
//parameters[0].Direction = ParameterDirection.ReturnValue;
parameters[1].Value = model.FLAG;
parameters[2].Value = model.PRIOR;
parameters[3].Value = model.BLACKNUMBER;

return DbHelperOra.RunProcedure("UP_BLACKINFO_ADD", parameters,out rowsAffected);

}
-----------------------------------------

public static int RunProcedure(string storedProcName, IDataParameter[] parameters, out int rowsAffected )
{
using (OracleConnection connection = new OracleConnection(connectionString))
{
int result;
connection.Open();
OracleCommand command = BuildIntCommand(connection,storedProcName, parameters );
rowsAffected = command.ExecuteNonQuery();
result = (int)command.Parameters["ReturnValue"].Value;
//Connection.Close();
return result;
}
}


-------------------------------------------------

存储过程为:

CREATE OR REPLACE PROCEDURE EFENCE."UP_BLACKINFO_ADD" (
ReturnValue OUT int,
vflag number,
vprior number,
vblackNumber number
)
AS
BEGIN
insert into BLACKINFO values(SEQ_BLACK_ID.NEXTVAL,vPrior,vFlag,vBlackNumber,null,0);

if (SQL%Rowcount=1) then
SELECT SEQ_BLACK_ID.CURRVAL INTO ReturnValue FROM DUAL;
else
ReturnValue:=0;
end if;

END UP_BLACKINFO_ADD;


不清楚到底错哪里,分不多,请兄弟们帮忙。
...全文
1321 点赞 收藏 8
写回复
8 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
ga3ga3 2010-10-19
[Quote=引用 7 楼 wkc168 的回复:]
看哪个过程也在调用此序列[/Quote]

就一个。.NET调用还是出现那个错误。oracle和sql 2005 的存储过程调用区别很大,转到oracle开发,我太菜了。很不明确,不用存储过程,用sql语句倒是没有问题,但没有返回值,不能确定是否插入成功
回复
心中的彩虹 2010-10-19
[Quote=引用 6 楼 ga3ga3 的回复:]
引用 3 楼 wkc168 的回复:
var num number
exec UP_BLACKINFO_ADD (:num,0,0,11111111)
print num


谢谢楼上的兄弟,
通过这种方式在SQLPLUS中能够得到 num ,但通过.NET调用存储过程依然有问题。
这个比较迷茫。是不是ReturnValue前需要加“:”表示是输出字段;


C# code
……
[/Quote]
看哪个过程也在调用此序列
回复
ga3ga3 2010-10-19
[Quote=引用 3 楼 wkc168 的回复:]
var num number
exec UP_BLACKINFO_ADD (:num,0,0,11111111)
print num
[/Quote]

谢谢楼上的兄弟,
通过这种方式在SQLPLUS中能够得到 num ,但通过.NET调用存储过程依然有问题。
这个比较迷茫。是不是ReturnValue前需要加“:”表示是输出字段;

new OracleParameter(":ReturnValue",OracleType.Int16,4,……


这个自己测试下,另外有个问题。
通过上述SQLPLUS,num每次不是+1,而是+2,这个是什么道理。存储过程里面有问题么?



回复
minitoy 2010-10-19
OracleParameter没指定类型,默认是in参数,out参数要指定类型.
回复
心中的彩虹 2010-10-19
[Quote=引用 3 楼 wkc168 的回复:]
引用 2 楼 ga3ga3 的回复:
我想插入数据库后,通过ReturnValue获取最新的BLACK_ID,
这个存储过程
execute immediate UP_BLACKINFO_ADD (0,0,0,11111111);
报错为:
ORA-06550: 第一行,第17列:
PLS-00103:出现符号"UP_BLACKINFO_ADD"在需要下列之一时:
:= . ( @ ……
[/Quote]
--or
declare
v number;
begin
UP_BLACKINFO_ADD (v,0,0,11111111);
dbms_output.put_line(v);
end;
回复
心中的彩虹 2010-10-19
[Quote=引用 2 楼 ga3ga3 的回复:]
我想插入数据库后,通过ReturnValue获取最新的BLACK_ID,
这个存储过程
execute immediate UP_BLACKINFO_ADD (0,0,0,11111111);
报错为:
ORA-06550: 第一行,第17列:
PLS-00103:出现符号"UP_BLACKINFO_ADD"在需要下列之一时:
:= . ( @ % 符号 ":="被替换为"UP_BL……
[/Quote]
调用出错 因为你的含有out参数 不能这样调用

var num number
exec UP_BLACKINFO_ADD (:num,0,0,11111111)
print num
回复
ga3ga3 2010-10-19
我想插入数据库后,通过ReturnValue获取最新的BLACK_ID,
这个存储过程
execute immediate UP_BLACKINFO_ADD (0,0,0,11111111);
报错为:
ORA-06550: 第一行,第17列:
PLS-00103:出现符号"UP_BLACKINFO_ADD"在需要下列之一时:
:= . ( @ % 符号 ":="被替换为"UP_BLACKINFO_ADD" 后继续。

不知道什么错误!!
回复
心中的彩虹 2010-10-19
[Quote=引用楼主 ga3ga3 的回复:]
在toad for oracle10中对存储过程调试没有问题!
在.NET中调试,报上面的错误!

其中页面代码为

C# code

public int BlackInfoAdd(GM.Model.BLACKINFO model)
{
int rowsAffected;
OracleParame……
[/Quote]
单独过程的写法没什么问题 估计看是你的 C#中问题 你要么到sqlplus运行下过程
回复
相关推荐
诡异的 ORA-06550 PLS-00302错误
今天接到一个朋友的求助:一个用户创建测试库存储过程时,以存储过程所有者登录后,执行过程时正常,但是如果执行过程的命令中带上schema名后,则报错 ORA-06550 PLS-00302错误。场景:SQL> show userUSER is ...
ora-06550 pls-00103
错误信息如图,调用接口方法提示错误求助
执行存储过程报错 ORA-06550PLS-00103求助
* 第 1 行出现错误: ORA-06550: 第 1 行, 第 23 列: PLS-00103: 出现符号 "SQL"在需要下列之一时: <an identifier> <a double-quoted delimited-identifier> delete exists prior 符号 "在 "SQL" 继续之前已插入。
求助ora-06550错误代码?
我是在调用一个存储过程时产生ORA-06550PLS-00103错误,原因是什么?存储过程 用到游标。
oracle存储过程调用出错 求助
小弟在创建存储过程成功之后,调用存储过程报错了。 报错如下: 在行 1 上开始执行命令时出错: DECLARE v_t int; BEGIN – V_学号, V_昵称, V_职位 会员信息插入(v_t, ‘HY2001’,‘测试昵称1’, ‘普通用户’);...
求助! 存储过程编释出错
* ERROR 位于第 2 行: ORA-06550: line 2, column 2: PLS-00201: identifier 'SENDCONTENT' must be declared ORA-06550: line 2, column 2: PL/SQL: Statement ignored ORA-06550: line 3, column 2: PLS-00201: ...
oracle存储过程,输出参数为数组的问题?紧急求助!寝室疯了。。
* 第 6 行出现错误: ORA-06550: 第 6 行, 第 13 列: PLS-00201: 必须声明标识符 'VARRAY' ORA-06550: 第 6 行, 第 13 列: PL/SQL: Item ignored ORA-06550: 第 7 行, 第 13 列: PLS-00201: 必须声明标识符 'VARRAY'...
ssi求助!!!救命!!!
--- Cause: java.sql.SQLException: ORA-06550: 第 1 行, 第 176 列: PLS-00103: 出现符号 ""在需要下列之一时: . ( ) , * @ % & | = - + < / > at in is mod remainder not range rem => .. (**)> <> or != or ~=...
[求助]实在是不知道为什么了,登录成功时跳转没有问题,如果测试错误输入情况就会报错
错误代码在百度上都找不到一样情况的……不知道该怎么办了……求助大神…… ORA-06550: 第 1 行, 第 15 列: PLS-00201: 必须声明标识符 'ORA_ASPNET_MEM_GETPWDWITHFMT' ORA-06550: 第 1 行, 第 7 列: PL/SQL: ...
求助:关于PL/SQL执行时的错误
编译没有错误,但是执行时总报如下错误: ERROR at line 1: ORA-06550: line 1, column 7: PLS-00306: wrong number or types of arguments in call to 'COUNT_NUM' ORA-06550: line 1, column 7: PL/SQL: ...
求助:我装的是oracle90,报错为:必须说明标识符 'DBMS_XMLPARSER.PARSER','DBMS_XMLDOM.DOMDOCUMENT','...
/ 错误信息: ERROR 位于第 3 行: ORA-06550: 第 3 行, 第 4 列: PLS-00201: 必须说明标识符 'DBMS_XMLPARSER.PARSER ORA-06550: 第 3 行, 第 4 列: PL/SQL: Item ignored ORA-06550: 第 4 行, 第 6 列: PLS-00201:...
简单PL/SQL求助
* 第 4 行出现错误: ORA-06550: 第 4 行, 第 1 列: PLS-00201: 必须声明标识符 'HELLO' ORA-06550: 第 4 行, 第 1 列: PL/SQL: Statement ignored ORA-06550: 第 5 行, 第 13 列: PLS-00302: 必须声明 'PUTLINE' ...
求助,关于PLSQL中for循环使用参考游标的问题
为什么编译老是不通过,提示如下--- 错误报告: ORA-06550: 第 8 行, 第 16 列: PLS-00221: 'VAR_REFCURSOR' 不是过程或尚未定义 ORA-06550: 第 8 行, 第 1 列: PL/SQL: Statement ignored 06550. 00000 - "line %s,...
求助(急!!!)
我用的备份软件将Oracle... * ERROR at line 9: ORA-06550: line 9, column 50: PLS-00201: identifier 'DONE' must be declared ORA-06550: line 9, column 1: PL/SQL: Statement ignored 帮我分析下原因吧,谢谢
求助!Asp.net调用Oralce分页出现的问题,郁闷得很!
} 提示错误ORA-06550: 第 1 行, 第 7 列: PLS-00306: 调用 'PAGER_PROC' 时参数个数或类型错误 ORA-06550: 第 1 行, 第 7 列: PL/SQL: Statement ignored 说明: 执行当前 Web 请求期间,出现未处理的异常。...
求助高手!!!!问题难办!!
执行以后就报 ORA-06550: 第 1 行, 第 7 列: PLS-00306: 调用 'PRO_ACCOUNTLINE' 时参数个数或类型错误 ORA-06550: 第 1 行, 第 7 列: 很清楚 是参数的问题 但是,我实在找不出哪错,谁遇到过我这样的错误 给我说说吧...
求助:occi调用_oracle程序包里dbms_logmnr.add_file的过程
terminate called after throwing an instance of 'oracle::occi::SQLException' what(): ORA-06550: 1 85 : PLS-00312: a positional parameter association may not follow a named association ORA-06550: 1 , 7...
[求助]pb6.5下执行oracle9i的存储过程出错:参数个数或类型错误
提示错误: ORA-06550: 第 1 行, 第 15 列: PLS-00306: 调用 'testone'时参数个数或类型错误 ORA-06550: 第 1 行, 第 15 列: PL/SQL: Statement ignored 另:如果不需要输入参数dki时,存储过程都能在pb中正确执行,...
pl/sql菜鸟求助
* 第 7 行出现错误: ORA-06550: 第 7 行, 第 11 列: PLS-00103: 出现符号 "+"在需要下列之一时: ( ORA-06550: 第 9 行, 第 33 列: PLS-00103: 出现符号 ")"在需要下列之一时: ( 实在是搞不懂,还请高手指出
求助:asp.net中使用Oracle的存储过程中的问题(这是什么错?)
System.Data.OracleClient.OracleException: ORA-06550: 第 1 行, 第 23 列: PLS-00222: 在此范围中不存在名为 'SP_CATEGORY_INSERT' 的函数 ORA-06550: 第 1 行, 第 7 列: PL/SQL: Statement ignored 源错误: 行 ...
求助:oracle数据导入问题,急!!!!!!!!
" IMP-00003: 遇到 ORACLE 错误 6550 ORA-06550: 第 2 行, 第 1 列: PLS-00201: 必须说明标识符 'SYS.DBMS_LOGREP_IMP' ORA-06550: 第 2 行, 第 1 列: PL/SQL: Statement ignored ............ 注:错误如上 . 正在将...
求助:ASP怎样从oracle的存储过程获取返回参数!
用asp调用oracle存储过程: --------------------------...系统总是提示 OraOLED 错误‘80040e14’ ORA-06550:第一行,第7列 PLS-00306,参数类型错误 有哪位高手 对asp和oracle编程熟悉的 请指点一下啊! QQ:65189666
求助:ASP怎样从oracle的存储过程获取多个返回参数!
用asp调用oracle存储过程: --------------------------...系统总是提示 OraOLED 错误‘80040e14’ ORA-06550:第一行,第7列 PLS-00306,参数类型错误 有哪位高手 对asp和oracle编程熟悉的 请指点一下啊! QQ:65189666
求助:ASP.NET(C#)访问Oracle9i数据库,调用存储过程分页的时候错误多多,请高手指教!内有代码
存储过程的代码如下(网上拷贝的): create ...ORA-06550: 第 1 行, 第 7 列: PLS-00201: 必须说明标识符 'DOTNOT.DOTNETPAGERECORDSCOUNT' ORA-06550: 第 1 行, 第 7 列: PL/SQL: Statement ignored 请问怎么回事啊?
调用存储过程错误,必须声明标识符
代码如下: SQL> CREATE OR REPLACE PROCEDURE... * 第 1 行出现错误: ORA-06550: 第 1 行, 第 7 列: PLS-00201: 必须声明标识符 'TEXT' ORA-06550: 第 1 行, 第 7 列: PL/SQL: Statement ignored 求助,该如何解决啊?
[求助]如何调用包中的存储过程???在线等待!
下面是我写得包和调用,总是出错!... 总是出现下面的错误,请帮忙解决 ORA-06550: 第 5 行, 第 6 列: PLS-00306: 调用 'GETSTAFFINFO' 时参数数量或类型错误 ORA-06550: 第 5 行, 第 6 列: PL/SQL: Statement ignored
求助Oracle导出错误(无法识别字符集名称)
导出 PUBLIC 类型同义词 EXP-00008: 遇到 ORACLE 错误 6552 ORA-06552: PL/SQL: Compilation unit analysis terminated ORA-06553: PLS-553: 无法识别字符集名称 EXP-00000: 导出终止失败 SQL> select * from NLS_...
STM32F103中文数据手册
这个里面包含了STM32F103的各种型号的数据手册,方面理解
WPF中用于嵌入其他进程窗口的自定义控件(AppContainer)
WPF中用于嵌入其他进程窗口的自定义控件(AppContainer) 具体见博文:http://blog.csdn.net/zzzwwwppp11199988899/article/details/78131292
MSP430_RTC模块学习总结
这是自己在学习MSP430时,对RTC模块的总结,希望可以帮助刚入门者
发帖
Oracle
创建于2007-09-28

1.6w+

社区成员

Oracle开发相关技术讨论
申请成为版主
帖子事件
创建了帖子
2010-10-19 01:49
社区公告
暂无公告