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も見ています
-
性格の違いは生まれた順番で決まる?長男長女・中間子・末っ子・一人っ子の性格の傾向
同じ環境で生まれ育っても、生まれ順で性格は違うものなのだろうか。家庭教育研究家の田宮由美さんに教えてもらった。
-
BULKINSERTのWITHオプションについて
SQL Server
-
BULK INSERT時のNull許容について
SQL Server
-
CSVファイルをBULK INSERTでSQLserverに読み込むことは可能?
その他(データベース)
-
-
4
SQLServerでNULLを挿入したいです
SQL Server
-
5
Transact-SQLのBULK INSERTでエラーをキャッチしたい
SQL Server
-
6
BCPでCSV内の文字列をテーブルのDatetime型カラムに取り込む方法
その他(データベース)
-
7
SQL文で右から1文字だけ削除するやり方
MySQL
-
8
SQLで特定の項目の重複のみを排除した全項目を取得する方法
その他(プログラミング・Web制作)
-
9
型 varchar から型 numeric への変換エラー。
その他(データベース)
-
10
他のデータベースとのテーブル結合
SQL Server
-
11
Excelで"で囲む方法
Excel(エクセル)
-
12
テーブル列数とデータファイル列数の違うbcpインサートをしたい
SQL Server
-
13
処理件数を非表示にしたい
SQL Server
-
14
SQLServerのジョブからバッチをキックすると、「ホストファイルが開けません」と出る
その他(データベース)
-
15
<a href=#" …>の意味を教えてください。"
HTML・CSS
-
16
SQL 全角半角混在の文字列から半角数字のみを抜き出す
Oracle
-
17
SUBSTRING 関数に渡した長さのパラメータが無効です。
SQL Server
-
18
新規saの作成方法について
SQL Server
-
19
副問合せの書き方について
SQL Server
-
20
復旧中のデータベースについて
SQL Server
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
【Access】クエリで抽出...
-
ダブルクォーテーション囲いカ...
-
Excelのデータ(数字)をテキス...
-
複数のエクセルファイルをアク...
-
Wordの文章をExcelに内容ごとに...
-
ACCESS CSV形式でエクスポート...
-
mdbをテキストに変換するツール...
-
Excelでhtml形式のテキストを表...
-
[VBA]csvファイルを開いて保存...
-
複数のメールファイルを1つの...
-
複数eml形式のBecky!への一括イ...
-
SQLSever 一括インポートについて
-
VBA 複数のCSVファイルを一度...
-
アクセス(ACCESS) インポート...
-
多数のeml形式ファイルを1つの...
-
差し込み印刷の元データファイ...
-
ISOファイルとMDSファイル
-
Word差し込み印刷、フォルダの...
-
Excelブックの共有をしているの...
-
UTF-8ってBOMなしとBOM付きどち...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
【Access】クエリで抽出...
-
Excelのデータ(数字)をテキス...
-
Wordの文章をExcelに内容ごとに...
-
SQLSever 一括インポートについて
-
複数eml形式のBecky!への一括イ...
-
アクセス(ACCESS) インポート...
-
Excelでhtml形式のテキストを表...
-
ダブルクォーテーション囲いカ...
-
多数のeml形式ファイルを1つの...
-
ACCESS CSV形式でエクスポート...
-
アクセスで小数点以下1桁まで...
-
【AccessVBA】ダイアログで複数...
-
エクセル2000で65536行を超える...
-
notepad++ で作成した文書を cs...
-
mdbをテキストに変換するツール...
-
複数のエクセルファイルをアク...
-
Accessのテーブルにデー...
-
アクセス2007でのインポートエ...
-
VBA 複数のCSVファイルを一度...
-
CSVファイルを固定長のテキスト...
おすすめ情報