しばらく調査を続けており、レンガの壁にぶつかり続けています。OpenRowsetコマンドを使用してxlsファイルから一時テーブルにインポートしています。特定の列に範囲値があるものをインポートしようとしているときに問題が発生しましたが、最も一般的なのは次のとおりです。長い数値、つまり15598として構造化された列と、文字列として構造化された一部の列、つまり15598-E。
これで、openrowsetは文字列バージョンを問題なく読み取っていますが、数値バージョンをNULLとして報告しています。openrowsetにその問題があり、作成者がクエリ文字列に「HDR = YES; IMEX = 1」を実装することについて話していることを読んだ(http://www.sqldts.com/254.aspx )が、それはまったく機能していません。
皆さん、これに遭遇したことはありますか?
さらにいくつかの情報も。JETエンジン(Microsoft.Jet.OLEDB.4.0)ではこれを実行できない可能性があるため、クエリは次のようになります。
SELECT *
FROM
OPENROWSET('MSDASQL'
, 'Driver=Microsoft Excel Driver (*.xls);HDR=YES;IMEX=1;DBQ=C:\ImportFile.xls;'
, 'SELECT * FROM [Sheet1$]')