Tengo un archivo de Excel que quiero abrir, presiono actualizar y extrae los datos del servidor SQL y luego manipulo los datos y creo algunos paneles. De hecho, tengo esto, pero estoy obteniendo muchos datos y necesito una consulta más compleja con algunas uniones para reducirlo.
Puedo consultar un SQL Server desde Excel. Puedo editar la consulta (es solo texto) pero es tedioso, es un poco como caminar en la oscuridad porque con Excel la consulta los mensajes de error son inútiles. Solía hacer esto usando el .exe llamado MSQuery que viene con Excel (pero se ahoga en muchas cosas).
Puedo escribir la consulta que quiero usando Microsoft SQL Server Management Studio.
Se podría pensar que podría escribir la consulta en Studio y cortar y pegar la consulta en Excel, pero la sintaxis parece ser ligeramente diferente. Específicamente, en Studio, antes de escribir la consulta, debe seleccionar la base de datos, por lo tanto, la instrucción FROM en la consulta SQL comienza con dbo.vSomeViewName. Mientras que, en Excel / MSQuery, no especifica la base de datos, la instrucción FROM en las consultas comienza con TheDataBaseName.dbo.vSomeViewName. Después de eso, hay algunas otras diferencias que no entiendo.
Tengo la sensación de que me falta algo básico que los libros parecen suponer que es obvio o que no es necesario.
Respuestas:
Copio y pego consultas regularmente entre Excel y SQL Server Studio y no encuentro los problemas que usted describe. Siempre que la base de datos esté identificada en la cadena de conexión en Excel, no debería necesitar poner el nombre de la base de datos delante de cada tabla o columna.
Alternativamente, puede especificar el nombre de la base de datos al comienzo de la consulta:
use database
fuente
Use "database";
y, para la cadena de conexión:database=YourDatabase
(el libro SQL que estoy usando no menciona la palabra USE)Realizo los siguientes pasos cuando deseo pegar en una consulta de SQL Server: (suponiendo que Excel 2007)
Eso siempre me ha funcionado.
fuente