各位大神,我想向oracle插入大量数据(300W条吧,读入的text文档)我是这么实现的,可是sql语句总是提示无效字符,可是我在sqlplus中可以运行的,下面是代码private string getsql()
        {
            string path = @"e:\ip.txt";
            StreamReader sr = new StreamReader(path);
            sb = new StringBuilder();
            string ip = sr.ReadLine();
            while (ip != null)
            {
                sb.Append("INSERT /*+Append*/ INTO TB_IP(IP) VALUES('" + ip + "');\n");
                ip = sr.ReadLine();
            }
            iptemp = sb.ToString();
            return iptemp;   
        }
//这是获得批量sql语句的方法,调用的时候
odbCommand.CommandText = iptemp;
odbCommand.ExecuteNonQuery();

解决方案 »

  1.   

    plsql 不允许 像 mssql 那样 用 分号 ";" 进行每条语句的分隔~
    你必须在所有sql语句前面加上 BEGIN  后面加上 END;  才可以~好像是~ 我也忘了  建议你搜一下 PLSQL 的批量执行SQL语句sqlplus 可以执行文件的 里面带或不带 begin end 有 分号";" 分隔都能执行 plsql 不行
      

  2.   

    现在是能执行了,几十条几百条都行,但是我加载一个30W的text文档,程序就运行一会自动退出了,怎么办啊,,求大神帮助