1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

SQLServerでファイルを取り込む

Last updated at Posted at 2024-10-09

SQLServerでファイルを取り込む

取り込みフォーマットファイル「ImportDefine.xml」を用意して、「ImportText.txt」を取り込みます。

フォーマットファイルは以下を組み合わせて作成します。

<!-- n文字を読み取る -->
<FIELD ID="1" xsi:type="CharFixed" LENGTH="n"/>
<!-- 「,」まで読み取る -->
<FIELD ID="1" xsi:type="CharTerm" TERMINATOR=","/>
<!-- タブまで読み取る -->
<FIELD ID="1" xsi:type="CharTerm" TERMINATOR="\t"/>
<!-- 行末まで読み取る -->
<FIELD ID="1" xsi:type="CharTerm" TERMINATOR="\r\n"/>

サンプル

取り込みファイル:ImportText.txt
2024/10/09  22:19    1320 DESKTOP-PC\masayasu  10_xxx.txt
2024/10/09  22:19    4400 DESKTOP-PC\masayasu  11_xxx.txt
2024/10/09  22:19     440 DESKTOP-PC\masayasu  1_xxx.txt
2024/10/09  22:19    2200 DESKTOP-PC\masayasu  2_xxx.txt
2024/10/09  22:19    8800 DESKTOP-PC\masayasu  3_xxx.txt
フォーマットファイル:ImportDefine.xml
<?xml version="1.0"?>
<BCPFORMAT xmlns="http://schemas.microsoft.com/sqlserver/2004/bulkload/format" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
  <RECORD>
    <FIELD ID="1" xsi:type="CharFixed" LENGTH="17"/>
    <FIELD ID="2" xsi:type="CharFixed" LENGTH="8"/>
    <FIELD ID="3" xsi:type="CharFixed" LENGTH="1"/>
    <FIELD ID="4" xsi:type="CharFixed" LENGTH="19"/>
    <FIELD ID="5" xsi:type="CharFixed" LENGTH="2"/>
    <FIELD ID="6" xsi:type="CharTerm" TERMINATOR="\r\n"/>
  </RECORD>
  <ROW>
    <COLUMN SOURCE="1" NAME="c1" xsi:type="SQLDATETIME" />
    <COLUMN SOURCE="2" NAME="c2" xsi:type="SQLINT" />
    <COLUMN SOURCE="4" NAME="c3" xsi:type="SQLNVARCHAR" />
    <COLUMN SOURCE="6" NAME="c4" xsi:type="SQLNVARCHAR" />
  </ROW>
</BCPFORMAT>
実行クエリ
INSERT INTO t_file_info (ファイル名, 日付, サイズ, 所有者)
SELECT c4,c1,c2,c3
  FROM OPENROWSET
       (BULK 'D:\~\ImportText.txt',
        FORMATFILE = 'D:\~\ImportDefine.xml',
        FIRSTROW = 1
       ) AS tbl

1
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?