【问题标题】:Not able to use bcp commanline to inport data from | delimited file into temp table无法使用 bcp 命令行从 | 导入数据分隔文件到临时表中
【发布时间】:2019-09-18 01:39:03
【问题描述】:

我正在使用 bcp 命令行将数据从管道分隔文件加载到临时表中,如下所示:

Create table tempdb..##test
(
  test1 int,
  test2 int,
  test3 int
)

Select @CMD='BCP "tempdb..##test" IN "'+@sourcefoler +@filename +'" -S '+@servername+' -t "|" -c -q -t -F 2'

EXECUTE master..XPCMDSHELL @cmd

在文件的第一行是标题,这就是为什么我把 2 他们的“-c -q -t -F 2”。 在临时表的情况下,我无法加载文件,但在普通表的情况下,它将加载到其中。我想将它加载到临时表中的原因是我想在临时表中添加新列,然后我想在新文件中查询它并将该文件加载到带有更新列的最终表中。

提前致谢!!

【问题讨论】:

    标签: sql-server file bcp


    【解决方案1】:

    临时表仅在会话处于活动状态时有效,并且 cmd 在导入完成后立即删除会话 - 临时表无法生存。您需要通过其他步骤扩展批处理以使用临时表(添加列、更新),然后在同一批处理中进行导出。

    【讨论】:

    • 我没有编写该代码,但我使用更改表代码添加列并更新代码以更新临时表,然后我想将该临时表查询到一个新文件中,第一行作为标题|分隔符
    • 完成需要将我用作日期时间的日期格式更改为日期时间 112 格式,这样就不会出现空格
    猜你喜欢
    • 2021-12-29
    • 2016-12-06
    • 1970-01-01
    • 2020-02-12
    • 1970-01-01
    • 2021-09-10
    • 2016-10-25
    • 2013-07-16
    • 2014-07-09
    相关资源
    最近更新 更多