作业帮 > ASP.NET > 教育资讯

ASP.NET技巧:在.net执行sql脚本的简单实现

来源:学生作业帮助网 编辑:作业帮 时间:2024/05/16 05:23:49 ASP.NET
ASP.NET技巧:在.net执行sql脚本的简单实现
ASP.NET技巧:在.net执行sql脚本的简单实现ASP.NET
【网络综合-ASP.NET技巧:在执行sql脚本的简单实现】:

下面是使用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] 

ASP.NET