CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
IBM Rational 系统开发最佳实践工具包 WebSphere MQ 最佳实践 TOP 15
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  .NET技术 >  ASP.NET

ORA-01008: 并非所有变量都已关联(急……)

楼主ljzstar(凌晨)2006-03-06 18:18:36 在 .NET技术 / ASP.NET 提问

不知道错在哪里?请高手帮帮忙!谢了!  
  数据库表结构:  
  create   table   TblRPTFILE  
  (RPTFILENO   number   not   null,  
    RPTSHOWNAME   varchar2(100)   not   null,  
    RPTFILENAME   varchar2(50)   not   null,  
    RPTFILEBEGINYEAR   date   not   null,  
    RPTFILEENDYEAR   date   not   null,  
    constraint   TblRPTFILE_PK   primary   key   (rptfileno));  
   
  代码:  
  string   sqlStr   =   "insert   into   tblRPTFILE   values(RPTFILESeq.nextval,:RPTShowName,:RPTFileName,:StartDate,:EndDate)";  
  OracleCommand   cmd   =   DB.GetCommand(sqlStr);  
  cmd.Parameters.Add(":RPTShowName",OracleType.VarChar,100).Value=this.reportName;  
  cmd.Parameters.Add(":RPTFileName",OracleType.VarChar,50).Value=this.filePath;  
  cmd.Parameters.Add(":StartDate",OracleType.DateTime).Value=OracleDateTime.Parse(this.startDate.ToString());  
  cmd.Parameters.Add(":EndDate",OracleType.DateTime).Value=OracleDateTime.Parse(this.endDate.ToString());  
  try  
  {  
  cmd.Connection.Open();  
  cmd.ExecuteNonQuery();       //到这就出错了  
  cmd.Connection.Close();  
  } 问题点数:20、回复次数:4Top

1 楼ljzstar(凌晨)回复于 2006-03-06 18:32:43 得分 0

快点啊。真的很急啊。在线等着呢,高手帮帮忙。顺便问一下,怎么给人加分和结贴啊?Top

2 楼vivianfdlpw()回复于 2006-03-06 18:39:02 得分 10

ORA-01008       not       all       variables       bound  
   
  Cause:       A       SQL       statement       containing       substitution       variables       was       executed       without       all       variables       bound.       All       substitution       variables       must       have       a       substituted       value       before       the       SQL       statement       is       executed.        
  Top

3 楼vivianfdlpw()回复于 2006-03-06 18:40:05 得分 10

http://jacklaw.cnblogs.com/archive/2005/01/27/98390.html  
   
  昨天晚上往Oracle数据库里面保存一幅图片,算是很稀松平常的大字段操作,搞了半天就是没存进去,提示是“System.Data.OleDb.OleDbException:   ORA-01008:   并非所有变量都已关联”。本以为是OleDbParameter的写法不对,到CSDN上一查,问题出在驱动程序上:把“provider=MSDAORA.1;”改为“provider='OraOleDb.Oracle';”,问题解决。  
    总结一下在   .Net   中读写Oracle数据库常用两种方式:OracleClient和OleDb,其中OleDb的方式根据驱动程序的不同又有两种。  
   
    1.   OracleClient方式,是微软专门针对Oracle数据库开发的,仅在   .NET   Framework   1.1   版中受支持。据说速度快、性能好,是推荐使用的方式。但根据我的经验,当Oracle数据库服务器端采用英文字符集比如   US7ASCII   时,客户端不管字符集如何设置,读出的中文都是乱码;若服务器端用中文字符集比如   ZHS16GBK   ,则无乱码问题。  
    引用类库:System.Data.OracleClient.dll。    
    命名空间:System.Data.OracleClient。  
    常用类:OracleConnection、OracleCommand、OracleDataAdapter、OracleTransaction、OracleDataReader等。  
    典型连接字符串:“data   source=oratest;user   id=scott;password=tiger”(注意:可不指定   provider   驱动)。  
   
    2.   OleDb方式,微软和Oracle公司各自提供了OleDb的驱动程序,使用方法的差别很少。不管Oracle服务器端用何字符集,读写中文均无乱码问题。  
    相同之处  
    命名空间:System.Data.OleDb。  
    常用类:OleDbConnection、OleDbCommand、OleDbDataAdapter、OleDbTransaction、OleDbDataReader等。  
    不同之处  
    引用类库:微软的只需要System.Data.dll;若用Oracle的驱动,虽然也只要引入System.Data.dll,但前提是首先安装Oracle针对.Net的数据访问组件。  
    连接字符串:与OracleClient方式相比,要添加一个provider,微软为“provider=MSDAORA.1;”,Oracle为“provider='OraOleDb.Oracle';”。  
   
  Top

4 楼ljzstar(凌晨)回复于 2006-03-06 18:45:13 得分 0

这个我也看过了,我现在用的是OracleClient。不过还是不知道怎么解决,能不能说个解决的办法啊?Top

相关问题

  • Job创建出错,ORA-01008 并非所有变量都已关联,怎么回事?
  • 数据表变量无法与数据表相关联
  • 如何将页面元素与页面变量动态关联?
  • 如何动态关联控件和变量?
  • 如何给IDC_STATIC关联成员变量,菜啊~
  • 求救:怎么把对话框的一个EDIT控键和一个以有变量变量相关联
  • 是否可以让一个与整型变量相关联的edit显示空
  • 成员变量如何与窗口上的控件关联起来啊??
  • 怎么样创建一个和控件关联的CString类型变量?
  • .Net2003中为什么不能把一个RadioButton关联到一个整形变量

关键词

  • .net
  • 驱动
  • 字符集
  • 微软
  • 数据库
  • 乱码
  • oracle
  • 服务器
  • 中文
  • 解决

得分解答快速导航

  • 帖主:ljzstar
  • vivianfdlpw
  • vivianfdlpw

相关链接

  • CSDN .NET频道
  • .NET类图书
  • C#类图书
  • .NET类源码下载

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
北京创新乐知广告有限公司 版权所有, 京 ICP 证 070598 号
世纪乐知(北京)网络技术有限公司 提供技术支持
Copyright © 2000-2008, CSDN.NET, All Rights Reserved
GongshangLogo