.net中如何执行SQL脚本文件

brooklyng60 2009-10-23 11:35:41
我又个 .net的程序,想通过视图化的方式执行脚本SQL脚本文件,脚本文件是根据用户的设置自动生成的。
我想在一个 方法或者时间中去执行这个文件就行了 ,就是些初始化数据库和创建PROC,TRIGGER的的操作。
网上都说用osql,isql,那个字符串osql /u /p 什么的我拼出来,怎么执行啊 ,程序怎么调用啊,能说的明白点吗?最好能将整个过程都贴出来 ,谢谢了 ,分不够在加。
...全文
295 12 打赏 收藏 转发到动态 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
lnwuyaowei 2009-10-24
  • 打赏
  • 举报
回复
http://happyprogram.cnblogs.com/archive/2005/08/23/220876.html
看这个.里面有源码.写得不错.
TalesTen 2009-10-24
  • 打赏
  • 举报
回复
6楼的方法可以试下
小_虎 2009-10-24
  • 打赏
  • 举报
回复
[Quote=引用 8 楼 brooklyng60 的回复:]
上面说的都是将文件里面的内容读出来成字符串,然后执行
我想的是又没有直接执行的脚本的文件的方法。上面的方法我也试下吧
[/Quote]

太钻牛角尖了吧
小_虎 2009-10-24
  • 打赏
  • 举报
回复
能不能读取文件,然后读取的文本作为字符串,执行。
brooklyng60 2009-10-24
  • 打赏
  • 举报
回复
上面说的都是将文件里面的内容读出来成字符串,然后执行
我想的是又没有直接执行的脚本的文件的方法。上面的方法我也试下吧
wuyq11 2009-10-23
  • 打赏
  • 举报
回复

string connStr = string.Format("");
StringBuilder sb = this.GetSqlFile("a.sql");
ExecuteSql(connStr, "",sb.ToString());


private StringBuilder GetSqlFile(string pFileName) {
StringBuilder sb= new StringBuilder();
sb.Append(File.ReadAllText(pFileName, System.Text.Encoding.GetEncoding("GB2312")));
return sb;
}
private void ExecuteSql(string connStr, string DatabaseName, string Sql)
{
using (SqlConnection conn = new SqlConnection(connStr))
{
SqlCommand cmd = new SqlCommand(Sql, conn);
conn.Open();
conn.ChangeDatabase(DatabaseName);
try
{
cmd.ExecuteNonQuery();
}
finally
{
conn.Close();
}
}
}
荷包蛋他娘 2009-10-23
  • 打赏
  • 举报
回复
看看这个 或许有帮助
http://www.tctl.com.cn/accp/1490/1493/150376.html
CopperBell 2009-10-23
  • 打赏
  • 举报
回复
liujintaozyc 2009-10-23
  • 打赏
  • 举报
回复
补下 你可以先读取这个文件 然后赋值给string str=
然后对他操作
liujintaozyc 2009-10-23
  • 打赏
  • 举报
回复
下接作为字符串(sql语句) exec(sql) 也是一种方法吧
支持
还是用sql语句来执行 就和自动创建表一样
Jack2013tong 2009-10-23
  • 打赏
  • 举报
回复
下接作为字符串(sql语句) exec(sql) 也是一种方法吧
randomfeel 2009-10-23
  • 打赏
  • 举报
回复
[Quote=引用 6 楼 wuyq11 的回复:]
string connStr = string.Format("");
StringBuilder sb = this.GetSqlFile("a.sql");
ExecuteSql(connStr, "",sb.ToString());


private StringBuilder GetSqlFile(string pFileName) {
            StringBuilder sb= new StringBuilder();
            sb.Append(File.ReadAllText(pFileName, System.Text.Encoding.GetEncoding("GB2312")));
            return sb;
        }
        private void ExecuteSql(string connStr, string DatabaseName, string Sql)
        {
            using (SqlConnection conn = new SqlConnection(connStr))
            {             
                SqlCommand cmd = new SqlCommand(Sql, conn);
                conn.Open();
                conn.ChangeDatabase(DatabaseName);
                try
                {
                    cmd.ExecuteNonQuery();
                }
                finally
                {
                    conn.Close();
                }
            }
        }

[/Quote]

good

62,046

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

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

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

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