none
Como encontrar drives para conexão com OPENROWSET? RRS feed

  • Pergunta

  • Esta semana eu postei um código para retornar dados de uma planilha com o Excel 2010. Gostaria de saber qual a melhor forma de descobrir o drive correto para abrir um determinado arquivo como o exemplo onde eu usei o drive Microsoft.ACE.OLEDB.12.0

    EXEC sp_configure 'show advanced options', 1
    GO
    Reconfigure
    GO
    EXEC sp_configure 'Ad Hoc Distributed Queries', '1';
    GO
    Reconfigure
    GO
    
    SELECT	[PRINCÍPIO ATIVO]			AS	PrincipioAtivo, 
    		[NOME COMERCIAL]			AS	NomeComercial, 
    		[PRINCIPAIS INDICAÇÕES]		AS	Indicacao, 
    		[RECOMENDAÇÕES]				AS	Recomendacao, 
    		[Legenda]					AS	Legenda		
    INTO	Medicamento 
    FROM OPENROWSET (
        'Microsoft.ACE.OLEDB.12.0',
        'Excel 12.0;Database=F:\ListaMedicamentos.xlsx;HDR=YES;IMEX=1',
        'SELECT * FROM [Plan1$]'
    );

    sábado, 12 de setembro de 2015 05:01

Respostas

  • Boa noite,

    O driver Microsoft.ACE.OLEDB tem como finalidade facilitar a transferência de dados entre arquivos do Microsoft Office e aplicações não-MS Office através do tipo de conexão OLE DB. O driver é um dos componentes do pacote Microsoft Access Database Engine, pode ser obtido de maneira independente, sem a necessidade de instalação da suíte do Office, através desse link. No tópico Install Instructions, você encontra as versões e extensões de arquivos suportadas. Para o Microsoft Access Database Engine 2010;

    File Type (extension)                                             Extended Properties
    ---------------------------------------------------------------------------------------------
    Excel 97-2003 Workbook (.xls)                                  "Excel 8.0"
    Excel 2007-2010 Workbook (.xlsx)                             "Excel 12.0 Xml"
    Excel 2007-2010 Macro-enabled workbook (.xlsm)      "Excel 12.0 Macro"
    Excel 2007-2010 Non-XML binary workbook (.xlsb)      "Excel 12.0"

    Espero ter ajudado.

    Abs,

    Thiago Vieira


    Thiago H. Vieira

    • Sugerido como Resposta Thiago H. Vieira domingo, 13 de setembro de 2015 02:36
    • Marcado como Resposta LWMN segunda-feira, 14 de setembro de 2015 03:12
    domingo, 13 de setembro de 2015 02:36
  • Boa noite, Não tem tantas opções assim, para arquivos TXT, CSV e DAT você pode utilizar a opção BULK sem a necessidade especificar um provedor. Fora isso, tem o MS JET para arquivos do Office e o SQL Native Client para o SQL Server. Salvo isso é caso pontual, você não vai encontrar uma documentação com todos os provedores possíveis porque os provedores são independentes do SQL Server. Espero ter ajudado. Abraços, Thiago Vieira

    Thiago H. Vieira

    • Marcado como Resposta LWMN segunda-feira, 14 de setembro de 2015 03:11
    segunda-feira, 14 de setembro de 2015 01:36

Todas as Respostas

  • Boa noite,

    O driver Microsoft.ACE.OLEDB tem como finalidade facilitar a transferência de dados entre arquivos do Microsoft Office e aplicações não-MS Office através do tipo de conexão OLE DB. O driver é um dos componentes do pacote Microsoft Access Database Engine, pode ser obtido de maneira independente, sem a necessidade de instalação da suíte do Office, através desse link. No tópico Install Instructions, você encontra as versões e extensões de arquivos suportadas. Para o Microsoft Access Database Engine 2010;

    File Type (extension)                                             Extended Properties
    ---------------------------------------------------------------------------------------------
    Excel 97-2003 Workbook (.xls)                                  "Excel 8.0"
    Excel 2007-2010 Workbook (.xlsx)                             "Excel 12.0 Xml"
    Excel 2007-2010 Macro-enabled workbook (.xlsm)      "Excel 12.0 Macro"
    Excel 2007-2010 Non-XML binary workbook (.xlsb)      "Excel 12.0"

    Espero ter ajudado.

    Abs,

    Thiago Vieira


    Thiago H. Vieira

    • Sugerido como Resposta Thiago H. Vieira domingo, 13 de setembro de 2015 02:36
    • Marcado como Resposta LWMN segunda-feira, 14 de setembro de 2015 03:12
    domingo, 13 de setembro de 2015 02:36
  • Boa noite,

    O driver Microsoft.ACE.OLEDB tem como finalidade facilitar a transferência de dados entre arquivos do Microsoft Office e aplicações não-MS Office através do tipo de conexão OLE DB. O driver é um dos componentes do pacote Microsoft Access Database Engine, pode ser obtido de maneira independente, sem a necessidade de instalação da suíte do Office, através desse link. No tópico Install Instructions, você encontra as versões e extensões de arquivos suportadas. Para o Microsoft Access Database Engine 2010;

    File Type (extension)                                             Extended Properties
    ---------------------------------------------------------------------------------------------
    Excel 97-2003 Workbook (.xls)                                  "Excel 8.0"
    Excel 2007-2010 Workbook (.xlsx)                             "Excel 12.0 Xml"
    Excel 2007-2010 Macro-enabled workbook (.xlsm)      "Excel 12.0 Macro"
    Excel 2007-2010 Non-XML binary workbook (.xlsb)      "Excel 12.0"

    Espero ter ajudado.

    Abs,

    Thiago Vieira


    Thiago H. Vieira

    Thiago, para a suíte Office eu entendi, mas para descobrir de demais fontes como por exemplo txt, csv etc. Tem alguma forma mais prática ou só pesquisando no google mesmo? Essa é a única forma que uso atualmente para conseguir drives para uma determinada fonte de dados.
    domingo, 13 de setembro de 2015 22:27
  • Boa noite, Não tem tantas opções assim, para arquivos TXT, CSV e DAT você pode utilizar a opção BULK sem a necessidade especificar um provedor. Fora isso, tem o MS JET para arquivos do Office e o SQL Native Client para o SQL Server. Salvo isso é caso pontual, você não vai encontrar uma documentação com todos os provedores possíveis porque os provedores são independentes do SQL Server. Espero ter ajudado. Abraços, Thiago Vieira

    Thiago H. Vieira

    • Marcado como Resposta LWMN segunda-feira, 14 de setembro de 2015 03:11
    segunda-feira, 14 de setembro de 2015 01:36
  • Boa noite, Não tem tantas opções assim, para arquivos TXT, CSV e DAT você pode utilizar a opção BULK sem a necessidade especificar um provedor. Fora isso, tem o MS JET para arquivos do Office e o SQL Native Client para o SQL Server. Salvo isso é caso pontual, você não vai encontrar uma documentação com todos os provedores possíveis porque os provedores são independentes do SQL Server. Espero ter ajudado. Abraços, Thiago Vieira

    Thiago H. Vieira

    Ajudou bastante Thiago, muito obrigado mesmo!
    segunda-feira, 14 de setembro de 2015 03:11