none
Acessando dados de arquivo texto RRS feed

  • Pergunta

  • Este comando funcionava no SQL 2000

    exec(' Select *

    From OpenRowset(''MSDASQL'', ''Driver={Microsoft Text Driver (*.txt; *.csv)};

    DefaultDir=C:\temp'',

    ''Select * From [1165854817504.txt]'') ' )

    No 2005 dá o seguinte erro

    OLE DB provider "MSDASQL" for linked server "(null)" returned message "[Microsoft][ODBC Text Driver] System resource exceeded.".

    Msg 7303, Level 16, State 1, Line 1

    Cannot initialize the data source object of OLE DB provider "MSDASQL" for linked server "(null)".

    Alguem já teve este problema ?

     

     

     

     

     

    quinta-feira, 25 de janeiro de 2007 10:34

Todas as Respostas

  • ms-help://MS.SQLCC.v9/MS.SQLSVR.v9.en/tsqlref9/html/f47eda43-33aa-454d-840a-bb15a031ca17.htm

     tente assim (exemplo do books on line )

     

    SELECT 'Text1.txt' AS FileName,
          '.txt' AS FileType,
          * FROM OPENROWSET(BULK N'C:\Text1.txt', SINGLE_BLOB) AS Document

     

    quinta-feira, 25 de janeiro de 2007 11:42
  • No exemplo anterior eu conseguia retornar o conteudo do arquivo linha a linha. Tem como fazer isto neste caso ?

    quinta-feira, 25 de janeiro de 2007 15:23
  • Denilson,

    Já tentou utilizar o OpenQuery?

    Na caso do OpenRowSet no SQL Server 2005 é necessário ter um linked server configurado com o provider para arquivos textos, por isso, esta retornando esta mensagem de erro.

    quinta-feira, 25 de janeiro de 2007 16:07
    Moderador
  • No meu caso o linked Server não ia resolver pois os arquivos que eu acesso podem estar em várias pastas.

    Achei no Bol o seguinte comando que resolveu meu problema.

    SELECT *

    FROM OPENROWSET(BULK 'C:\Teste\myTestFormatFiles-c.Dat',

    FORMATFILE='C:\Teste\myTestFormatFiles.Xml'

    ) as t1

    Valeu pela ajuda.

    sexta-feira, 2 de fevereiro de 2007 15:19