使用npgsql执行postgres脚本

时间:2014-05-23 07:12:22

标签: c# asp.net sql npgsql executenonquery

我有一个创建表的脚本(* .sql)。 我正在使用带有npgsql的Visual Studio 2010来访问postgres数据库。

我可以从codebehind执行脚本吗?

这是我尝试过的代码:

string sqlConnectionString = @"myconnection";

FileInfo file = new FileInfo(@"myfile.sql");

string script = file.OpenText().ReadToEnd();

NpgsqlConnection conn = new NpgsqlConnection(sqlConnectionString);

Server server = new Server(new ServerConnection(conn));

server.ConnectionContext.ExecuteNonQuery(script);
file.OpenText().Close();

但是Visual Studio不承认Server

1 个答案:

答案 0 :(得分:5)

我明白了。答案如下:

NpgsqlConnection _connPg = new NpgsqlConnection("yourconnectionstring"));

FileInfo file = new FileInfo(HttpContext.Current.Server.MapPath("DatabaseSchema.sql"));
string script = file.OpenText().ReadToEnd();
var m_createdb_cmd = new NpgsqlCommand(script, _connPg);
_connPg.Open();
m_createdb_cmd.ExecuteNonQuery();
_connPg.Close();