您的位置:首页 > 数据库

利用.net(C#)执行sql脚本的简单实现

2008-04-02 08:35 585 查看
下面是使用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语句特别注意大小写! 可用-U username 或/U username,但不能用-u username

对于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帮助文档
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: