我有一个创建表的脚本 (*.sql)。 我正在使用带有 npgsql 的 Visual Studio 2010 来访问 postgres 数据库。
我可以从代码隐藏执行脚本吗?
这是我尝试过的代码:
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
。
最佳答案
我明白了。答案在这里:
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();
关于c# - 使用 npgsql 执行 postgres 脚本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23823118/