none
Criar tabela temporário origem de dados excel RRS feed

  • Pergunta

  • Olá Pessoal, Bom dia !

    Estou com essa versão do Sql :

    Microsoft SQL Server 2008 (SP3) - 10.0.5520.0 (X64)   Jul 11 2014 16:11:50   Copyright (c) 1988-2008 Microsoft Corporation  Express Edition (64-bit) on Windows NT 6.2 <X64> (Build 9200: ) 

    Estou precisando ler uma planilha em excel e importar para o banco de dados para que depois eu possa utilizar essa planilha para realizar as minhas alterações de preço.

    Como eu poderia realizar essa tarefa via script t-sql ??

    Desde já agradeço pela ajuda,


    Abs, Adriano_SP

    quinta-feira, 2 de julho de 2015 13:12

Respostas

  • Deleted
    quinta-feira, 2 de julho de 2015 14:13
  • Então pessoALL, já havia feito esses procedimentos...

    No entanto tenho o seguinte erro:

    O provedor do OLE DB "Microsoft.ACE.OLEDB.12.0" para o servidor vinculado "(null)" retornou a mensagem "Erro não especificado".
    Msg 7303, Level 16, State 1, Line 1
    Não é possível inicializar um objeto de fonte de dados do provedor do OLE DB "Microsoft.ACE.OLEDB.12.0" para o servidor vinculado "(null)".

    Eu já havia instalado o Microsoft.ACE.OLEDB.12.0 para 64

    Com certeza é uma detalhe que está faltando mas realmente não sei qual caso alguém tiver uma sugestão agradeço pela ajuda.

    Obrigado,


    Abs, Adriano_SP

    Adriano,

    Isso é referente à uma permissão incorreta. 

    É preciso verificar se o seu usuário do "seu serviço SQL Server" possui permissão de acesso no "diretório temporário" (TMP ou TEMP) do seu sistema operacional Windows. Na dúvida, se for algo pontual, adicione nestes diretórios a permissão "Everyone" (ou "Todos" se o Windows for em Português).

    Para saber qual é seu diretório temporário abra o "Painel de Controle", clique na opção "Configurações avançadas do sistema". Uma janela irá abrir, selecione a aba "Avançado" e clique no botão "Variáveis de Ambiente". 

    Uma nova janela irá abrir com as variáveis de ambiente, incluíndo as variáveis "TEMP" e "TMP" que indicam o seu diretório temporário.  

    Você também precisa conceder os devidos acessos de execução para o driver "Microsoft.ACE.OLEDB.12.0" através da stored procedure "sp_MSset_oledb_prop". Preferencialmente utilize o usuário "sa" para estas configurações.

    As configurações dentro da sua instância SQL Server também são fundamentais, caso contrário este erro continuará aparecendo, e posteriormente poderá até camuflar outros problemas deste "vínculo".

    Este post no Blog MSDN indica vários tipos de erro que podem ocorrer por falhas na configuração (inclusive este seu), veja:

    http://blogs.msdn.com/b/spike/archive/2008/07/23/ole-db-provider-microsoft-jet-oledb-4-0-for-linked-server-null-returned-message-unspecified-error.aspx

    Refaça todos os passos do artigo que não haverá erros.


    Se ajudou na sua solução, não esqueça de marcar como resposta !


    Abraços,

    Durval Ramos
    Microsoft Partner | MTA | MCSA - SQL Server 2012 | MCSE - Data Platform
    ----------------------------------
    Se foi resolvido clique "Marcar como resposta" e se foi útil "Votar como Útil"

    quinta-feira, 2 de julho de 2015 14:15
    Moderador

Todas as Respostas

  • Deleted
    quinta-feira, 2 de julho de 2015 13:22
  • Adriano,

    Este artigo abaixo vai orientar você à configurar sua instância SQL e importar os dados para uma determinada tabela (temporária ou não) no SQL Server, utilizando o comando "OPENROWSET".

    http://social.technet.microsoft.com/wiki/pt-br/contents/articles/24213.importando-uma-planilha-excel-para-um-banco-de-dados-sql-server.aspx


    Se ajudou na sua solução, não esqueça de marcar como resposta !


    Abraços,

    Durval Ramos
    Microsoft Partner | MTA | MCSA - SQL Server 2012 | MCSE - Data Platform
    ----------------------------------
    Se foi resolvido clique "Marcar como resposta" e se foi útil "Votar como Útil"

    quinta-feira, 2 de julho de 2015 13:45
    Moderador
  • Então pessoALL, já havia feito esses procedimentos...

    No entanto tenho o seguinte erro:

    O provedor do OLE DB "Microsoft.ACE.OLEDB.12.0" para o servidor vinculado "(null)" retornou a mensagem "Erro não especificado".
    Msg 7303, Level 16, State 1, Line 1
    Não é possível inicializar um objeto de fonte de dados do provedor do OLE DB "Microsoft.ACE.OLEDB.12.0" para o servidor vinculado "(null)".

    Eu já havia instalado o Microsoft.ACE.OLEDB.12.0 para 64

    Com certeza é uma detalhe que está faltando mas realmente não sei qual caso alguém tiver uma sugestão agradeço pela ajuda.

    Obrigado,


    Abs, Adriano_SP

    quinta-feira, 2 de julho de 2015 13:56
  • Então pessoALL, já havia feito esses procedimentos...

    No entanto tenho o seguinte erro:

    O provedor do OLE DB "Microsoft.ACE.OLEDB.12.0" para o servidor vinculado "(null)" retornou a mensagem "Erro não especificado".
    Msg 7303, Level 16, State 1, Line 1
    Não é possível inicializar um objeto de fonte de dados do provedor do OLE DB "Microsoft.ACE.OLEDB.12.0" para o servidor vinculado "(null)".

    Eu já havia instalado o Microsoft.ACE.OLEDB.12.0 para 64

    Com certeza é uma detalhe que está faltando mas realmente não sei qual caso alguém tiver uma sugestão agradeço pela ajuda.

    Obrigado,


    Abs, Adriano_SP

    Veja como está a configuração no meu sql:

    

    Abs, Adriano_SP

    quinta-feira, 2 de julho de 2015 13:58
  • Deleted
    quinta-feira, 2 de julho de 2015 14:03
  • José Diz,

    Após rodar o comando citado por você, apareceu essa mensagem:

    A opção de configuração 'show advanced options' foi alterada de 1 para 1. Execute a instrução RECONFIGURE para instalar.
    A opção de configuração 'Ad Hoc Distributed Queries' foi alterada de 1 para 1. Execute a instrução RECONFIGURE para instalar.

    O que é issso ??


    Abs, Adriano_SP

    quinta-feira, 2 de julho de 2015 14:07
  • Deleted
    quinta-feira, 2 de julho de 2015 14:13
  • Então pessoALL, já havia feito esses procedimentos...

    No entanto tenho o seguinte erro:

    O provedor do OLE DB "Microsoft.ACE.OLEDB.12.0" para o servidor vinculado "(null)" retornou a mensagem "Erro não especificado".
    Msg 7303, Level 16, State 1, Line 1
    Não é possível inicializar um objeto de fonte de dados do provedor do OLE DB "Microsoft.ACE.OLEDB.12.0" para o servidor vinculado "(null)".

    Eu já havia instalado o Microsoft.ACE.OLEDB.12.0 para 64

    Com certeza é uma detalhe que está faltando mas realmente não sei qual caso alguém tiver uma sugestão agradeço pela ajuda.

    Obrigado,


    Abs, Adriano_SP

    Adriano,

    Isso é referente à uma permissão incorreta. 

    É preciso verificar se o seu usuário do "seu serviço SQL Server" possui permissão de acesso no "diretório temporário" (TMP ou TEMP) do seu sistema operacional Windows. Na dúvida, se for algo pontual, adicione nestes diretórios a permissão "Everyone" (ou "Todos" se o Windows for em Português).

    Para saber qual é seu diretório temporário abra o "Painel de Controle", clique na opção "Configurações avançadas do sistema". Uma janela irá abrir, selecione a aba "Avançado" e clique no botão "Variáveis de Ambiente". 

    Uma nova janela irá abrir com as variáveis de ambiente, incluíndo as variáveis "TEMP" e "TMP" que indicam o seu diretório temporário.  

    Você também precisa conceder os devidos acessos de execução para o driver "Microsoft.ACE.OLEDB.12.0" através da stored procedure "sp_MSset_oledb_prop". Preferencialmente utilize o usuário "sa" para estas configurações.

    As configurações dentro da sua instância SQL Server também são fundamentais, caso contrário este erro continuará aparecendo, e posteriormente poderá até camuflar outros problemas deste "vínculo".

    Este post no Blog MSDN indica vários tipos de erro que podem ocorrer por falhas na configuração (inclusive este seu), veja:

    http://blogs.msdn.com/b/spike/archive/2008/07/23/ole-db-provider-microsoft-jet-oledb-4-0-for-linked-server-null-returned-message-unspecified-error.aspx

    Refaça todos os passos do artigo que não haverá erros.


    Se ajudou na sua solução, não esqueça de marcar como resposta !


    Abraços,

    Durval Ramos
    Microsoft Partner | MTA | MCSA - SQL Server 2012 | MCSE - Data Platform
    ----------------------------------
    Se foi resolvido clique "Marcar como resposta" e se foi útil "Votar como Útil"

    quinta-feira, 2 de julho de 2015 14:15
    Moderador
  • Deleted
    quinta-feira, 2 de julho de 2015 14:19
  • Meus caros... tentei quase tudo e ainda nada... segui passo a passo as orientações dos diversos link e sites e até agora nada...

    Teriam mais alguma sugestão técnica??

    Grato


    Abs, Adriano_SP

    sexta-feira, 3 de julho de 2015 20:29
  • Deleted
    sexta-feira, 3 de julho de 2015 20:43