语法错误在或附近" $ 1"当使用npgsql时

时间:2018-02-12 10:40:30

标签: c# npgsql postgresql-9.4

我目前正在尝试更新npgsql。

我有一个使用旧的npgsql版本完美运行的方法,但是当我使用新的npgsql 3.2.6运行它时,它失败并出现异常:

  

42601:语法错误在或附近" $ 1"

这是我的代码,传递给控制台应用程序,它重现了这个错误:

Console.WriteLine("Start");

NpgsqlConnection con = null;
NpgsqlCommand cmd = null;

try
{
    con = new NpgsqlConnection("Host=...;Port=...;Username=...;Password=...;Database=...");
    con.Open();

    cmd = new NpgsqlCommand("SET APPLICATION_NAME=@app_name;", con);
    cmd.Parameters.AddWithValue("@app_name", "test");

    cmd.ExecuteNonQuery();
}
catch (Exception ex)
{
    Console.WriteLine(ex.Message);
}
finally
{
    if (cmd != null)
        cmd.Dispose();

    if (con != null)
        con.Dispose();
}

Console.WriteLine("End");
Console.ReadKey();

我还注意到,如果我将查询设置为SET APPLICATION_NAME='@app_name';,它就可以正常工作。但它应该没有' ...我也尝试用NpgsqlDbType指定变量类型,但仍然没有运气。

任何人都知道我做错了什么?

修改

cmd.ExecuteNonQuery();抛出异常。

0 个答案:

没有答案