0

我有一个流利的配置,它从文件中提取数据并推送到 SQL 服务器,但是有一个带有自动递增列的主键,所以,在我的流利配置中,如果我没有提到该列,它会抛出一个错误说该字段丢失,如果我在配置中包含该列,它会给出身份错误,在下面的配置中,“Id”是主要和自动递增的列,也让我知道适配器“sqlserver”是否正确使用。

<filter record.**>
      @type record_transformer
      enable_ruby  true
      <record>
        Id ${id}
      </record>
      <record>
        timestamp ${time}
      </record>
    </filter>

    <filter record.**>
      @type stdout
    </filter>

    <match record.**> 
        
        @type sql
        host myhost
        username myuser
        password mypassword
        database mydb
        adapter sqlserver

        <table>
          table simple_table
          column_mapping 'Id:Id,timestamp:timestamp'
        </table>
        
        flush_interval 1s
        # disable_retry_limit
        # num_threads 8
        # slow_flush_log_threshold 40.0
    </match>
4

1 回答 1

0

好吧,我想通了,必须在 column_mapping 中发送列名,即使它的主键和自动递增,如果您使用其他一些 SQL 凭据登录,它会给您一个错误,但是,如果您使用创建表时使用的相同详细信息可以正常工作。

于 2021-07-04T15:43:41.160 回答