我的机器环境如下:win7 64位,VS2010,.net 2.0框架下开发。本机装的有ora64位的和32位的客户端环境(64位是为了给ODBC和IIS使用,32位是给VS和PL/SQL Developer使用。)一直使用正常,直到用到了下面的SQL语句,就报ORA-00911错误了。select "USERID","COMMENT_ID" "ATTACHMENTID","THREADID" "OWNERUSERID","COMMENT_ID" "ORIGINALTHREADID","BODY",0 "REPLYCOUNT",0 "FORWARDEDCOUNT","DATECREATED",null "POSTSOURCE",0 "COMMENTCOUNT",0 "FNUMBER",2 "Source" 
From "MINIBLOGCOMMENTS" 
where ("THREADID"='2' or "THREADID" in (SELECT "ATTACHMENTID" FROM "MINIBLOGATTACHMENTS" where "USERID"= '2' and "DATECREATED" between to_date('2011/4/23','yyyy-mm-dd hh24:mi:ss') and to_date('2011/5/23','yyyy-mm-dd hh24:mi:ss'))) 
and "AUDITINGSTATUS"=0 and "DATECREATED" between to_date('2011/4/23','yyyy-mm-dd hh24:mi:ss') and to_date('2011/5/23','yyyy-mm-dd hh24:mi:ss')以上SQL语句是跟踪VS得到的,单独复制出来在PL/SQL Developer下执行是正确的,没有报错。只是在VS里面执行报错(IIS里面 以上语句也不报错)。
另外 我同事的机器环境是VS2003 32位、VS2010 .net 2.0框架下、ora32位客户端,执行VS的代码是不报错 结果是正确的。希望大家帮忙分析分析是什么问题,第一次用oracle数据库,只会最基本的。谢谢大家!

解决方案 »

  1.   

    是不是在SQL语句结束后面多加了";"号,在其它高级语言开发代码的SQL语句中不要以分号结束。
      

  2.   

    没有分号,只是组成基本的sql语句,这些语句在程序里面跟踪到,然后复制到PL/SQL Developer下也是能执行的,就是在VS里面报错。
    最后我无意间把组成sql语句的代码注销了一遍,然后复制粘贴了一次 竟然通过了。真晕,调试了一个多小时。