質問

32ビットの.NETアプリでは、このOLEDB接続文字列を使用して、ADO.NET経由でCSVファイルに接続できます。

"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\foo;"

またはこのODBC:

"Driver={{Microsoft Text Driver (*.txt; *.csv)}};Dbq=c:\foo"

ただし、OLEDB JetドライバーまたはODBCテキストドライバーのいずれかが64ビットバージョンではないようです。

CSVを1行ずつ解析するか、32ビットモードでアプリを実行できますが、理想的には64ビットとして実行される別のドライバーを見つけたいです。

アイデアはありますか

役に立ちましたか?

解決

これはドライバーではありませんが、Sebastien LorionのCSVリーダーには満足しています。 64ビット環境で使用したことはありませんが、互換性の問題は認識していません。

http://www.codeproject.com/KB/database/CsvReader.aspx

他のヒント

これとまったく同じ問題があり、多くの試行錯誤の後、エラーこれは私が見つけたものでした:

1。アドホックプロシージャを有効にする

sp_configure 'show advanced options', 1;
RECONFIGURE;
GO
sp_configure 'Ad Hoc Distributed Queries', 1;
RECONFIGURE;
GO

2。このファイルをサーバーにインストールします:

http:// www.microsoft.com/downloads/en/details.aspx?familyid=C06B8369-60DD-4B64-A44B-84B371EDE16D&displaylang=en

3。次のクエリ形式を使用します:

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

4。 OLEオートメーションプロシージャを有効にします。

sp_configure 'show advanced options', 1;
GO
RECONFIGURE with override
GO
sp_configure 'Ole Automation Procedures', 1;
GO
RECONFIGURE with override;
GO

アレクシス、

ドライバーが必要ですか? CSVファイルを1行ずつ読み取る必要がある場合は、無料のパーサーがいくつかあります。 CSVも書き出す必要がある場合は、 FileHelpers をご覧ください。

Microsoft Accessデータベースにアクセスしているにもかかわらず、同じ問題を抱えていたため、アプリケーションを32ビットに変換しなければならなくなりました。私はこれがうまくいくことを知っていますが、あなたはこの解決策を望まないかもしれません。誰かがこの質問の答えを知っているなら、私もそれを聞くのが大好きです。

幸運です。2010年12月に、MicrosoftはCSVおよびXLSXファイル用の64ビットOLEDBドライバーを公開しました。

ダウンロードリンク、インストールの詳細、接続については、この回答をご覧ください文字列など

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top