.NET开发

本类阅读TOP10

·NHibernate快速指南(翻译)
·vs.net 2005中文版下载地址收藏
·【小技巧】一个判断session是否过期的小技巧
·VB/ASP 调用 SQL Server 的存储过程
·?dos下编译.net程序找不到csc.exe文件
·通过Web Services上传和下载文件
·学习笔记(补)《.NET框架程序设计(修订版)》--目录
·VB.NET实现DirectDraw9 (2) 动画
·VB.NET实现DirectDraw9 (1) 托管的DDraw
·建站框架规范书之——文件命名

分类导航
VC语言Delphi
VB语言ASP
PerlJava
Script数据库
其他语言游戏开发
文件格式网站制作
软件工程.NET开发
在.net执行sql脚本的简单实现

作者:未知 来源:月光软件站 加入时间:2005-2-28 月光软件站

.net执行sql脚本的简单实现

郑佐2004-12-25

         看到csdn社区经常有人问在.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]

具体参考 

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

或者sql server 2000帮助文档

 

上面程序是我以前在csdn回答问题时写的,由于最近比较忙,所以偷懒了。对于本文有什么好的建议或意见请留言。Zhzuo(秋枫)




相关文章

相关软件