执行插入查询时值中包含一些特殊字符的异常

时间:2019-07-09 13:29:37

标签: npgsql

我有一列具有不同字符类型的数据类型。我们正在使用Npgsql -Version 4.0.4PostgreSQL version 11.3

String value = "Shaun Hollis_002\\Top of Personal Folders\002\\� 35% Off 
Harlem Globetrotters - 3 Events in Denver!.msg";

        try
        {


            StringBuilder sb = new StringBuilder();

            sb.AppendLine("Insert INTo tbltemptest1 (c_value) values(@value);");

            using (NpgsqlConnection con = new NpgsqlConnection(DBConnectionString))
            {
                con.Open();
                using (NpgsqlCommand command = new NpgsqlCommand(sb.ToString(), con))
                {
                    command.Parameters.Add("@value", NpgsqlTypes.NpgsqlDbType.Varchar).Value = value;
                    command.ExecuteNonQuery();
                }
            }
        }
        catch (Exception ex)
        {

            throw;
        }

执行插入查询会引发异常

  

用于编码“ UTF8”的无效字节序列:0x00

1 个答案:

答案 0 :(得分:0)

错误几乎说明了这一点:PostgreSQL拒绝接受其中包含0x00(空字符)的字符串。您将需要先清理输入,然后再将其发送到PostgreSQL。