0

おはよう、私の友人:

SQL Server でこのコードを使用して、テキスト ファイルをインポートまたは読み取りました。Office 2013 Professional (64 ビット) で 64 ビット マシンを実行しています。Microsoft Access データベース エンジン 2010 64 も使用しているため、すべて正常に動作します。

select *
from openrowset('MSDASQL'
               ,'Driver={Microsoft Access Text Driver (*.txt, *.csv)}'
               ,'select * from C:\MY_FOLDER\Databases\MY_FILES\mytext_file.txt')

問題は、Office 32 を搭載した別のコンピューターで作業を開始したことですが、そのコンピューターも 64 ビット マシンです。32ビットオフィスソフトウェアがインストールされたMicrosoft Access Database Engine 2010 64をインストールできないため、このコードは機能しません。最初に 32 ビットをアンインストールし、64 ビットとして再インストールする必要があります。

32 Office を削除/インストールするための Office ソフトウェアを持っていません。

他のオプションはありますか?

フォーマット ファイルを作成しようとしましたが、テキスト ファイルはサード パーティ製であり、フォーマットが常に壊れているため予測できず、エラーの場所が見つからないようです。私はこのファイルの品質を管理していません。

このページにあるもののほとんども試しましたが、うまくいきませんでした:

http://bradsruminations.blogspot.in/2011/01/so-you-want-to-read-csv-files-huh.html

これは更新です:

BULK INSERT を使用しました: しかし、挿入されたデータに二重引用符が含まれています。また、二重引用符ではなく、NULL も取得していません。

コード:

USE myDatabase;
GO
BULK INSERT my_schema.my_table
   FROM 'C:\MY_FOLDER\Databases\MY_FILES\mytext_file.txt'
   WITH (
      DATAFILETYPE = 'CHAR',
      FIELDTERMINATOR = ',',
      ROWTERMINATOR = '0x0a',
      FIRSTROW=2, 
      KEEPNULLS
   );
GO
4

0 に答える 0