sqlStr = "copy from baktest/baktest@orcl to baktest2/baktest2@orcl  replace TBLSCHOOL(SCHOOLNAME,ADDRESS) using select SCHOOLNAME,ADDRESS from TBLSCHOOL"; 
            string oraDB = "Data Source=ORCL;User ID=youqitianuser;Password=youqitianuser"; 
            OracleConnection conn = new OracleConnection(oraDB); 
            OracleCommand MC = new OracleCommand(sqlStr, conn);             MC.Connection.Open(); 
            try 
            { 
                MC.ExecuteNonQuery(); 
            } 
            catch (Exception ex) 
            {} 
不能执行呀!错误:ORA-00900: 无效 SQL 语句

解决方案 »

  1.   

    好像是只能执行select,insert,update,delete的吧
      

  2.   

    那是属于sqlplus的命令
    你这么写肯定是不行的
    非要这么写的话
    原来听说过这么写的
    就是在程序里头调用cmd
    然后传给命令,并且不让
    cmd显示出来
    但怎么做俺不知道...
      

  3.   

    copy 属于sqlplus命令,在这里无法执行的。
    把copy改成:
    insert into  select from 吧
      

  4.   

    insert into select from 会出现 “ 表或视图不存在”的错误,因为是2个不同方案中的表
      

  5.   

    insert into baktest2.TBLSCHOOL(SchoolName,Address,SchoolTypeCode,ContactTel,Email,TeacherNum,StudentNum,SchoolNote) select SchoolName,Address,SchoolTypeCode,ContactTel,Email,TeacherNum,StudentNum,SchoolNote from baktest.TBLSCHOOL
      

  6.   

    insert into baktest2.TBLSCHOOL(SchoolName,Address,SchoolTypeCode,ContactTel,Email,TeacherNum,StudentNum,SchoolNote) select SchoolName,Address,SchoolTypeCode,ContactTel,Email,TeacherNum,StudentNum,SchoolNote from baktest.TBLSCHOOL