首页 > 解决方案 > 表名大写时nlog没有插入数据库

问题描述

这很好用;

<targets>
    <target name="database" xsi:type="Database"
            dbProvider="Npgsql.NpgsqlConnection, Npgsql"
            connectionString="User ID=postgres;Password=xxx;Host=192.xx;Port=5432;Database=xxx;">
      <!--Pooling=true;-->
      <commandText>
        insert into systemlogs(...;
      </commandText>

但是当更改为表名时

“系统日志”

(在数据库中也是如此)它抛出异常;“找不到表名”系统日志“

这是有道理的,但为什么 nlog 没有实现更新的表名?

标签: postgresqlnlog

解决方案


在 PostgreSQL 中,所有带引号的标识符(例如表名和列名)都区分大小写:

请参阅:PostgreSQL 列名是否区分大小写?

所以 NLog 找不到它们是你使用引号和错误的大小写。

所以不要使用引号或使用正确的大小写


推荐阅读