在c#中运行一个SQL脚本到某个数据库或表
本文关键字:脚本 数据库 SQL 运行 一个 | 更新日期: 2023-09-27 18:04:19
如何在c#中运行SQL脚本到某个数据库或表?这是我目前的设置:我有一个服务器,里面有多个数据库。我想在某个数据库或表上运行SQL脚本,我如何在c#中运行脚本,其中我可以定义脚本应该在哪个数据库/表中运行?由于
您可以尝试USE
语句。也就是说,在运行sql脚本(如
USE DatabaseName;
SELECT * FROM TableName;
否则,您也可以尝试在表名中关联数据库名称,如
SELECT * FROM DatabaseName.TableName;
这是许多方法中的一种,但不是最干净的:当您创建SqlCommand时,直接在其构造函数中设置ConnectionString。
SqlCommand类
SqlConnection Class(你的ConnectionString)
要从c#运行脚本,您应该像这样修改脚本。在这里,您将数据库名称定义为'Initial Catalog'。
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using Microsoft.SqlServer.Management.Smo;
using Microsoft.SqlServer.Management.Common;
using System.IO;
using System.Data.SqlClient;
public partial class ExcuteScript : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
string sqlConnectionString = @"Initial Catalog=northwind;Data Source=subhash'SQLEXPRESS;Integrated Security=SSPI;Persist Security Info=False;";
string script = File.ReadAllText(@"E:'Project Docs'TACT'northwinddata.sql");
SqlConnection conn = new SqlConnection(sqlConnectionString);
Server server = new Server(new ServerConnection(conn));
server.ConnectionContext.ExecuteNonQuery(script);
}
}
之后,你的sql脚本文件应该管理的需求。就像你需要在查询中使用哪个表一样,你也可以使用'连接其他数据库的表。'操作符语法如下:
select * from [database].[schema].[table] where <condition>