c# - 使用 npgsql 执行 postgres 脚本

标签 c# asp.net sql npgsql executenonquery

我有一个创建表的脚本 (*.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/

相关文章:

c# - 结合单元测试(模拟)和依赖注入(inject)框架

javascript - ASP.NET Ajax 出现错误,代码为 0

mysql - 返回最大日期小于 SQL 中一组日期中每个值的行

c# - 将皮肤应用于以编程方式创建的控件

java - JUnit 测试 SQL 查询

python - 如何将SQL查询结果转换成python字典

c# - 调度程序计时器错误

javascript - 摆脱不相关的控制台错误(404(未找到))

c# - 我在哪里/如何在我的 C# 代码中编写 T-SQL 并获得结果 (Visual Studio 2008)

c# - 重定向到错误页面并显示用户友好错误