使用C#调用cmd来执行sql脚本

转载 2007年10月13日 08:41:00
下面是使用C#调用cmd来执行osql实现脚本的执行。



using System;

using System.Data;

using System.Collections;

using System.Xml;

using System.IO;

using System.Text;

using System.Diagnostics;



namespace ZZ

{

public class ZZConsole

{

[STAThread]

static void Main(string[] args)

{

string sqlQuery = "osql.exe /uSa /p123 /s192.192.132.229 /dNorthWind /i yoursql.sql";

string strRst = ExeCommand(sqlQuery);

Console.WriteLine(strRst);

Console.ReadLine();

}



public static string ExeCommand(string commandText)

{

Process p = new Process();

p.StartInfo.FileName = "cmd.exe";

p.StartInfo.UseShellExecute = false;

p.StartInfo.RedirectStandardInput = true;

p.StartInfo.RedirectStandardOutput = true;

p.StartInfo.RedirectStandardError = true;

p.StartInfo.CreateNoWindow = true;

string strOutput = null;

try

{

p.Start();

p.StandardInput.WriteLine(commandText);

p.StandardInput.WriteLine("exit");

strOutput = p.StandardOutput.ReadToEnd();

p.WaitForExit();

p.Close();

}

catch(Exception e)

{

strOutput = e.Message;

}

return strOutput;

}

}

}



对于osql命名的参数如下:

=====================



用法: osql [-U login id] [-P password]

[-S server] [-H hostname] [-E trusted connection]

[-d use database name] [-l login timeout] [-t query timeout]

[-h headers] [-s colseparator] [-w columnwidth]

[-a packetsize] [-e echo input] [-I Enable Quoted Identifiers]

[-L list servers] [-c cmdend] [-D ODBC DSN name]

[-q "cmdline query"] [-Q "cmdline query" and exit]

[-n remove numbering] [-m errorlevel]

[-r msgs to stderr] [-V severitylevel]

[-i inputfile] [-o outputfile]

[-p print statistics] [-b On error batch abort]

[-X[1] disable commands [and exit with warning]]

[-O use Old ISQL behavior disables the following]

[-? show syntax summary]

具体参考

http://www.588188.com/netbook/sqlserver2000/coprompt/cp_osql_1wxl.htm

或者sql server 2000帮助文档 

Trackback: http://tb.blog.csdn.net/TrackBack.aspx?PostId=1769232 

SQL下三种执行CMD命令的方法

 SQL下三种执行CMD命令的方法:先删除7.18号日志:(1)exec master.dbo.xp_cmdshell del C:/winnt/system32/logfiles/W3SVC5/ex...
  • t134679
  • t134679
  • 2008年01月11日 13:36
  • 13007

在C#中通过命令对象执行SQL

using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; ...
  • acmerhlj
  • acmerhlj
  • 2012年06月11日 09:00
  • 2238

C#读取.sql文件并执行文件中的sql

有些时候我们需要在程序中编写读取sql脚本文件并执行这些sql语句,但是我们在有些时候会遇到读出来的sql语句不能执行,其实不能执行并不是你的sql脚本文件有错误,而是去执行sql语句的时候,而是C#...
  • yu13767514297
  • yu13767514297
  • 2015年11月04日 10:16
  • 3251

C#读取*.sql文件,并执行里面的SQL语句

public static ArrayList GetSqlFile(string varFileName, string dbname)         {             ArrayL...
  • Mr_Data_Mining
  • Mr_Data_Mining
  • 2013年03月01日 09:23
  • 967

C#执行sql文件 运行sql文件

  • 2010年08月09日 18:34
  • 69KB
  • 下载

.NET执行sql文件

     //执行脚本                 string infile = System.Web.HttpContext.Current.Server.MapPath("/Plg...
  • mss359681091
  • mss359681091
  • 2016年04月06日 14:04
  • 497

C#执行SQL脚本文件

方法一:osql.exe(这种方式最简单,但貌似微软以后会取消这个功能,改为SqlCmd了) 最简单的方法就是调用 osql.exe . 具体方法如下(以sql server200 数据库为例):...
  • fangjjj
  • fangjjj
  • 2017年03月06日 17:14
  • 2019

C# 调用并执行SQL脚本文件

让C#程序直接执行sql脚本文件,类似SSMS直接打开sql文件并执行一样,搜索了一下结果还真有,不过需要借用mssql的几个类库及命名空间: Microsoft.SqlServer.Con...
  • quxiao2002
  • quxiao2002
  • 2014年10月24日 15:40
  • 778

C#调用cmd命令

C#调用cmd命令
  • black_yu
  • black_yu
  • 2017年04月15日 16:59
  • 3683

C#执行SQL脚本文件

方法一:osql.exe(这种方式最简单,但貌似微软以后会取消这个功能,改为SqlCmd了) 最简单的方法就是调用 osql.exe . 具体方法如下(以sql server200 数据库为例):...
  • fangjjj
  • fangjjj
  • 2017年03月06日 17:14
  • 2019
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:使用C#调用cmd来执行sql脚本
举报原因:
原因补充:

(最多只允许输入30个字)