SSISを使用してデータベーステーブルのフラットファイルのエクスポートを作成し、次にそれらをさまざまに分散されたSQL Expressのインストールにインポートしたいと考えています。ご想像のとおり、SSISはExpressバージョンでは使用できません。私は一括挿入を行うと、それとのエラー:SQL標準でSSISデータをエクスポートし、SQL Expressで一括挿入を使用してインポートする方法は?
Msg 4866, Level 16, State 8, Line 1 The bulk load failed. The column is too long in the data file for row 1, column 5. Verify that the field terminator and row terminator are specified correctly.
生成されたファイルは、ASCII(1252年)であるフィールドと文字の間でCHAR(09)(タブ)(0D)文字(0A)で行を終了(私はそれが\ r \ nだと思う)。
これはフォーマットファイル(4 COLは、COLの幅)である:サンプルデータの開始
9.0
5
1 SQLCHAR 0 12 "\t" 1 Record_ID ""
2 SQLCHAR 0 498 "\t" 2 Filename SQL Latin1 General CP1 CI AS
3 SQLCHAR 0 498 "\t" 3 Path SQL Latin1 General CP1 CI AS
4 SQLCHAR 0 12 "\t" 4 Width ""
5 SQLCHAR 0 12 "\r\n" 5 Height ""
ファイルの先頭からINGの:
bulk insert item_table from 'Item_Table.txt' with
( FORMATFILE='Item_Table.fmt', FIRSTROW=2)
テーブル:
Record_ID Filename Path Width Height
1437 BreadCakeCooknPie.eps G:\BakedGoods\BreadCakeCooknPie.eps 595 647
1438 CakeChocolateRoses.eps G:\BakedGoods\CakeChocolateRoses.eps 1200 848
私は、次のT-SQLコードでそれをインポートフィールドは次のとおりです。
[Record_ID] [int] NULL,
[Filename] [nvarchar](249) NULL,
[Path] [nvarchar](249) NOT NULL,
[Width] [int] NULL,
[Height] [int] NULL
どれ書き込みアップ利用可能?任意のアイデアはどのようにエラーを修正するには?どのようにSSISによって作成されたフォーマットファイルを取得するか考えていますか?他のアイデア?
ご質問ありがとうございました。
良い答えではありませんが、コマンドラインbcpでは、フォーマットファイルと実際のデータをエクスポートします。フォーマットファイルとまったく同じようにSSISテキストファイルの列(3番目のタブ)をセットアップしました。次に、BCPエクスポートされたデータと一致するようにSSISメタデータをセットアップしました。すべてがうまくインポートされ、一部のデータは日付の秒のように切り詰められます。 –
クール!おめでとう! –