
SQLserver で大量にあるCSVファイルをインポートしたいのですが
コードが分かりません。
各Csvファイルには1行目に列名が書かれており、全て同じ構成となっております。
MSDNで調べて下記コードを見つけたのですがうまく起動しません。
「列名 'IntCol' が無効です。」と出てしまいます。
------------------------------------------------------------
-- Query before update shows initial state of XmlCol values.
SELECT * FROM T
UPDATE T
SET XmlCol =(
SELECT * FROM OPENROWSET(
BULK 'C:\SampleFolder\SampleData3.txt',
SINGLE_BLOB
) AS x
)
WHERE IntCol = 1
GO
------------------------------------------------------------
単純に
「同じ構成の複数あるcsvファイルを1つのテーブルにインポートする」
というコードなのですが、どうやればよいのでしょうか?
No.2ベストアンサー
- 回答日時:
>フィールド ターミネータ
エラーメッセージからして列区切りが認識されてないように思います。
区切りはTABコードでしょうか?
他の場合は、指定しないといけなかったように思います。
No.1
- 回答日時:
インポートだけなら
BULK INSERT テーブル名 FROM 'ファイル名'
くらいでいいんじゃないですか?
インデックス等の設定で重複レコードがあると失敗するのと
CSVの1行目が邪魔っていうのはありますが…
回答ありがとうございます。
ですがエラーとなってしまいます。
bulk insert テーブル名 from 'C:\Temp\190401_01.csv'
結果
---------------------------------------------------------
メッセージ 4866、レベル 16、状態 1、行 1
一括読み込みに失敗しました。データ ファイルの行 1、列 1 で、列が長すぎます。フィールド ターミネータと行ターミネータが正しく指定されていることを確認してください。
メッセージ 7399、レベル 16、状態 1、行 1
リンク サーバー "(null)" の OLE DB プロバイダ "BULK" により、エラーがレポートされました。プロバイダからエラーに関する情報を取得できませんでした。
メッセージ 7330、レベル 16、状態 2、行 1
リンク サーバー "(null)" の OLE DB プロバイダ "BULK" から行をフェッチできません。
---------------------------------------------------------
1行目の列名のせいでエラーが出てるのかと思い
下記コードで試してみたのですが
bulk insert テーブル名 from 'C:\Temp\190401_01.csv'
WITH (firstrow=2);
GO
---------------------------------------------------------
メッセージ 4866、レベル 16、状態 8、行 1
一括読み込みに失敗しました。データ ファイルの行 1、列 1 で、列が長すぎます。フィールド ターミネータと行ターミネータが正しく指定されていることを確認してください。
メッセージ 7301、レベル 16、状態 2、行 1
リンク サーバー "(null)" の OLE DB プロバイダ "BULK" から必要なインターフェイス ("IID_IColumnsInfo") を取得できません。
---------------------------------------------------------
となり、読み込めませんでした。
元となるテーブルと読み込むテーブルの列数に違いはありません。
また各列のvarchar型、int型、datetime型もすべて一致しております。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Access(アクセス) access,vbaでフォルダ内のファイルをテーブルにインポート、ファイル名もフィールドに追加したい 1 2022/08/31 11:11
- Excel(エクセル) エクセルのVBAについて とあるサイトのコードを参考に、CSVの文字化けを直すVBAを作成しているの 7 2022/11/04 14:15
- MySQL SQLです。こんな感じですか?あってますか? うまくいきません教えてくださいお願いします 1 2023/07/08 15:27
- MySQL うまくいきません教えてくださいお願いしますSQLです。クエリ構文です。 1 2023/07/07 12:39
- Excel(エクセル) 【マクロ】webアドレスにて指定されたCSVファイル【excelソフト表示】を印刷する件 1 2023/02/15 01:52
- Visual Basic(VBA) 複数csvを横に追加していくマクロについて 2 2023/04/25 09:19
- その他(プログラミング・Web制作) python 気象データの取得 2 2023/06/20 23:54
- Visual Basic(VBA) 複数のcsvファイルをExcelに一括変換したい 2 2023/03/03 12:44
- MySQL 下記の問合せを行うクエリを、PhpMyAdminで作成して実行せよ。 日本の全市区町村を人口密度が低 1 2023/06/18 19:51
- Visual Basic(VBA) エクセルVBAについて 8 2022/07/13 22:41
このQ&Aを見た人はこんなQ&Aも見ています
-
BULK INSERT時のNull許容について
SQL Server
-
CSVファイルをBULK INSERTでSQLserverに読み込むことは可能?
その他(データベース)
-
テーブル列数とデータファイル列数の違うbcpインサートをしたい
SQL Server
-
-
4
SQL Server のデータをCSVファイルに保存
SQL Server
-
5
BULKINSERTのWITHオプションについて
SQL Server
-
6
SQLのエラー(~付近に不適切な構文があります)
SQL Server
-
7
CSVファイルの中で、「 , 」カンマを使いたい
その他(コンピューター・テクノロジー)
-
8
日付型のフィールドに空白を入れる方法を教えてください
その他(データベース)
-
9
【Transact-sql】 execの結果をoutputパラメータに持たせたい
SQL Server
-
10
SUBSTRING 関数に渡した長さのパラメータが無効です。
SQL Server
-
11
バッチでのSQL実行結果の分岐処理について。
SQL Server
-
12
BULK INSERTについて
SQL Server
-
13
INSERT文でフィールドの1つだけを他のテーブルから取ってきた値を入れたい
その他(データベース)
-
14
SQLServer・ストアドプロシージャでファイル出力したい
その他(データベース)
-
15
バッチファイルからSQLファイルへ引数を渡したい!
その他(プログラミング・Web制作)
-
16
SQLServer sqlcmdが使えない
SQL Server
-
17
BCPユーティリティの使用法_ヘッダー情報の取得_
その他(プログラミング・Web制作)
-
18
コマンドプロンプトの「%1」と「%~1」の違いがわからない
その他(プログラミング・Web制作)
-
19
復旧中のデータベースについて
SQL Server
-
20
テーブルに主キーを作らないデメリットは?
その他(Microsoft Office)
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Excelのデータ(数字)をテキス...
-
【Access】クエリで抽出...
-
Wordの文章をExcelに内容ごとに...
-
SQLSever 一括インポートについて
-
多数のeml形式ファイルを1つの...
-
CSVファイルでの数字表記のエラー
-
VBA 複数のCSVファイルを一度...
-
2列に並んだ数値のテキストファ...
-
Excelでhtml形式のテキストを表...
-
複数eml形式のBecky!への一括イ...
-
複数のメールファイルを1つの...
-
カンマ区切りのcsvファイルを…
-
アクセス2007でのインポートエ...
-
CSVファイルを固定長のテキスト...
-
VBAのQueryTableオブジェクトの...
-
【マクロ】変数に入れるコード...
-
差し込み印刷の元データファイ...
-
ISOファイルとMDSファイル
-
EXCEL VBA 指定したファイルが...
-
Word差し込み印刷、フォルダの...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Wordの文章をExcelに内容ごとに...
-
【Access】クエリで抽出...
-
SQLSever 一括インポートについて
-
Excelのデータ(数字)をテキス...
-
多数のeml形式ファイルを1つの...
-
ダブルクォーテーション囲いカ...
-
複数のメールファイルを1つの...
-
複数eml形式のBecky!への一括イ...
-
【AccessVBA】ダイアログで複数...
-
アクセス(ACCESS) インポート...
-
VBA 複数のCSVファイルを一度...
-
アクセス2007でのインポートエ...
-
[VBA]csvファイルを開いて保存...
-
notepad++ で作成した文書を cs...
-
VBAのQueryTableオブジェクトの...
-
Excelでhtml形式のテキストを表...
-
ACCESS複数テキストファイルを...
-
ACCESS でインポートフ...
-
CSVファイルを固定長のテキスト...
-
エクセル2000で65536行を超える...
おすすめ情報