向oracle中插入数据,一次执行多条插入命令的问题

kevin083916 2012-08-16 09:17:12
各位大神,我想向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();
...全文
426 2 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
lqkankan 2012-08-16
  • 打赏
  • 举报
回复
plsql 不允许 像 mssql 那样 用 分号 ";" 进行每条语句的分隔~


你必须在所有sql语句前面加上 BEGIN 后面加上 END; 才可以~

好像是~ 我也忘了 建议你搜一下 PLSQL 的批量执行SQL语句

sqlplus 可以执行文件的 里面带或不带 begin end 有 分号";" 分隔都能执行 plsql 不行
kevin083916 2012-08-16
  • 打赏
  • 举报
回复
现在是能执行了,几十条几百条都行,但是我加载一个30W的text文档,程序就运行一会自动退出了,怎么办啊,,求大神帮助[Quote=引用 1 楼 的回复:]
plsql 不允许 像 mssql 那样 用 分号 ";" 进行每条语句的分隔~


你必须在所有sql语句前面加上 BEGIN 后面加上 END; 才可以~

好像是~ 我也忘了 建议你搜一下 PLSQL 的批量执行SQL语句

sqlplus 可以执行文件的 里面带或不带 begin end 有 分号";" 分隔都能执行 plsql 不行
[/Quote]

111,098

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • AIGC Browser
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧