Eu tenho um arquivo do Excel que eu quero abrir, bater refesh, e puxa os dados do servidor SQL e, em seguida, eu manipular os dados e criar alguns painéis. Eu realmente tenho isso, mas eu estou puxando para muitos dados e precisa de uma consulta mais complexa com alguns JOINs para reduzi-lo.
Eu posso consultar um SQL Server de com no Excel. Eu posso editar a consulta (é apenas texto), mas é tedioso é um pouco como wlking no escuro porque com o Excel faz a consulta as mensagens de erro são inúteis. Eu costumava fazer isso usando o .exe chamado MSQuery que vem com o Excel (mas engasga com um monte de coisas).
Eu posso escrever a consulta que quero usando o Microsoft SQL Server Management Studio.
Você poderia pensar que eu poderia escrever a consulta no Studio e recortar e colar a consulta no Excel, mas a sintaxe parece ser um pouco diferente. Especificamente, no Studio, antes de gravar a consulta, você deve selecionar o banco de dados, portanto, a instrução FROM na consulta SQL inicia com dbo.vSomeViewName. Considerando que, no Excel / MSQuery, você não especifica o banco de dados e, portanto, a instrução FROM nas consultas começam com TheDataBaseName.dbo.vSomeViewName. Depois disso, há algumas outras diferenças que eu não entendo.
Tenho a sensação de que estou perdendo algo básico que os livros parecem supor que é óbvio ou não é necessário.
Respostas:
Eu regularmente copio e colo consultas entre o Excel e o SQL Server Studio e não encontro os problemas que você descreve. Contanto que o banco de dados seja identificado na cadeia de conexão no Excel, não será necessário colocar o nome do banco de dados na frente de cada nome de tabela ou coluna.
Como alternativa, você pode especificar o nome do banco de dados no início da consulta:
use database
fonte
Use "database";
e, para a string de conexão:database=YourDatabase
(o livro SQL que estou usando não menciona a palavra USE)Eu faço os seguintes passos quando quero colar em uma consulta do SQL Server: (assumindo o Excel 2007)
Isso sempre funcionou para mim.
fonte