2014-07-17 3 views
0

내 목표는 OPENROWSET 스타일 쿼리를 통해 가져 오려는 파일 (다른 시스템에서 가져온 파일)을 갖는 것입니다.SQL Server에서 txt 또는 csv 확장자가없는 CSV 파일 가져 오기

티 쿼리는 다음과 같습니다

select [NoName] from openrowset('MSDASQL' 
      ,'Driver={Microsoft Access Text Driver (*.txt, *.csv)}; 
       DefaultDir=c:\filedir' 
      ,'select * from "file.lst"') 

나는 파일이 잘 작동하는 .CSV을 한 경우. 그러나 CSV 또는 TXT 확장명이 아니라면 다음과 같은 오류가 발생하여 해결 방법을 찾을 수 없습니다. (아마 다른 곳이를 찾을 수 있지만) 또한

OLE DB provider "MSDASQL" for linked server "(null)" returned message "[Microsoft][ODBC Text Driver] Cannot update. Database or object is read-only.". 
Msg 7350, Level 16, State 2, Line 1 
Cannot get the column information from OLE DB provider "MSDASQL" for linked server "(null)". 

는, 나는 가 'BLANK'이 때문에 데이터를 놓치지 않습니다 (가, 헤더 행) 첫 번째 줄이 필요합니다. 사용 방법 OPENROWSETBULK 기본적으로 모든 행을 데이터로 포함 할 예정입니까?

답변

0

이것은 security feature이며 레지스트리에서만 사용이 중지 될 수 있습니다. 기본적으로은 다음의 파일 확장자는 허용됩니다 txt, csv, tab, asc, htm, html

액세스 97 :

HKEY_LOCAL_MACHINE\Software\Microsoft\Jet\3.5\Engines\Text\DisabledExtensions 

액세스 2000

HKEY_LOCAL_MACHINE\Software\Microsoft\Jet\4.0\Engines\Text\DisabledExtensions