5

.csv から 3 列のテーブルにデータをインポートする方法を明確にしたいと思います (以下の CR Ranking.csv を参照)。私のクエリ:

 select * FROM OPENROWSET('Microsoft.ACE.OLEDB.12.0','Text;Database=C:\Work\;HDR=Yes;', 
 'SELECT * FROM [CR Ranking.csv]');

結果を1 つの列に出力します。

header: Category;INfo;Rank
row 1: Category 1;Info;1
row 2: Category 2;INfo2;2
row 3: Category 3;INfo3;3

Openrowset を介して .csv のデータを3列に分割することは可能ですか? 私は Openrowset パラメータから何かを逃したと思います。おそらくそれは非常に簡単ですか?

はい: Office 2010 の 64 ビット ODBC ドライバーを使用して、.csv、.txt などのドライバーを取得しています。うまくいかないようです:

Provider=Microsoft.Jet.OLEDB.4.0;Data Source=c:\';Extended Properties="text; HDR=NO; FMT=Delimited";

CRランキング.csv:

Category;INfo;Rank
Category 1;Info;1
Category 2;INfo2;2
Category 3;Info3;3

UPD 1:フォーマットファイルなし で行うことは可能ですか?

UPD 2:フォーマットファイルで作成しました-簡単でした。お邪魔してすみません。

4

1 に答える 1

3

これが古い投稿であることは知っていますが、とにかく返信すると思いました。

ACE を使用してこれを試したことはありませんが、次のような内容の投稿がいくつか見つかりました。カスタムの Delimited(;) 設定に注意してください...

select top 50 * FROM OPENROWSET('Microsoft.ACE.OLEDB.12.0','Text;Database=c:\temp\captell;HDR=Yes;FORMAT=Delimited(;)', 'SELECT * FROM [DASDGIGS0013046591395.TXT]')
于 2011-04-17T20:01:55.120 に答える