我有一个创建表的脚本(* .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
。
答案 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();