用ExecuteNonQuery执行多行Oracle 语句的问题

leziwl 2006-10-31 02:47:34
想用 ExecuteNonQuery 执行从txt文件中读取到的多行sql语句,但是没办法执行,提示无效字符

请各位指教!
...全文
168 8 打赏 收藏 举报
写回复
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
leziwl 2006-11-25
  • 打赏
  • 举报
回复
昨天研究了一下
private string GetSql(string strName)
{
try
{
Assembly asm=Assembly.GetExecutingAssembly();
Stream strm=asm.GetManifestResourceStream(asm.GetName().Name+"."+strName);
StreamReader reader=new StreamReader(strm);

return reader.ReadToEnd();
}
catch
{
return null;
}
}
/// <summary>
/// 转换字符到字符数组
/// </summary>
/// <param name="strName"></param>
/// <returns></returns>
public string[] StringToArray(string strName)
{
string str=GetSql(strName);
string[] strArray;
string Delimiter="\r\n/";
//strArray=str.Split(Delimiter.ToCharArray());
Regex r=new Regex(Delimiter);
strArray=r.Split(str);
return strArray;
}

public void ExecuteSql(string[] sql,string SqlServer)
{
OracleConnection conn=new OracleConnection("Data Source="+SqlServer+";User Id=pnems;Password=pnems8530");
OracleCommand cmd=new OracleCommand();
cmd.Connection=conn;

foreach(string str in sql)
{
string strTrim=str.Trim();
strTrim=strTrim.Replace(";","");
strTrim=strTrim.Replace("\n","");
string error;
if(str!="")
{
conn.Open();
cmd.CommandText=strTrim;
try
{
cmd.ExecuteNonQuery();
}
catch(Exception e)
{
error=e.Message;
break;
}
finally
{
conn.Close();
}
}
}
}
exing 2006-11-14
  • 打赏
  • 举报
回复
用begin.. end括起来
leziwl 2006-11-01
  • 打赏
  • 举报
回复
能说具体点吗?没做过,oracle的数据库能用吗?
lxhvc 2006-11-01
  • 打赏
  • 举报
回复
安装部署可以直接用脚本调用osql部署
leziwl 2006-11-01
  • 打赏
  • 举报
回复
我是要在安装部署的时候把数据库建立好,但是不能执行多条语句
firebug01 2006-10-31
  • 打赏
  • 举报
回复
对于多条sql语句,如果是sqlServer 2000,最好用存储过程
leziwl 2006-10-31
  • 打赏
  • 举报
回复
怎么循环啊,能给个例子吗?
liubin189 2006-10-31
  • 打赏
  • 举报
回复
用循環阿!
相关推荐
发帖
.NET社区

6.1w+

社区成员

.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
帖子事件
创建了帖子
2006-10-31 02:47
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。