Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   SQL (https://www.clubdelphi.com/foros/forumdisplay.php?f=6)
-   -   Exportando datos de SQL Server a Excel. (https://www.clubdelphi.com/foros/showthread.php?t=92037)

TiammatMX 06-07-2017 19:06:43

Exportando datos de SQL Server a Excel.
 
Tengo dos propuestas de solución, pero ambas arrojan errores.

La primera:
Código SQL [-]
sp_configure 'show advanced options', 1
GO
RECONFIGURE
GO
sp_configure 'Ad Hoc Distributed Queries', 1
GO
RECONFIGURE
GO
EXEC master.dbo.sp_MSset_oledb_prop N'Microsoft.Jet.OLEDB.4.0' , N'AllowInProcess' , 1
GO
EXEC master.dbo.sp_MSset_oledb_prop N'Microsoft.Jet.OLEDB.4.0' , N'DynamicParameters' , 1
GO
INSERT INTO OPENROWSET('Microsoft.Jet.OLEDB.4.0','Database=J:\ConbeMTZXT\Basura\esting.xlsx;Extended Properties=EXCEL 12.0;HDR=YES',ListaE$) SELECT ACODPRO, APREACT AS PRECIO, ATIPMON AS MONEDA FROM FALISPR WHERE ANUMLIS=20
go
sp_configure 'Ad Hoc Distributed Queries', 0
GO
RECONFIGURE
GO
sp_configure 'show advanced options', 0
GO
RECONFIGURE
GO
Al ejecutar, muestra los siguientes mensajes:
Código:

Se ha cambiado la opción de configuración 'show advanced options' de 0 a 1. Ejecute la instrucción RECONFIGURE para instalar.
Se ha cambiado la opción de configuración 'Ad Hoc Distributed Queries' de 0 a 1. Ejecute la instrucción RECONFIGURE para instalar.
Mens. 7438, Nivel 16, Estado 1, Línea 17
El proveedor OLE DB de 32 bits "Microsoft.Jet.OLEDB.4.0" no se puede cargar en proceso en un servidor SQL Server de 64 bits.

Se ha cambiado la opción de configuración 'Ad Hoc Distributed Queries' de 1 a 0. Ejecute la instrucción RECONFIGURE para instalar.
Se ha cambiado la opción de configuración 'show advanced options' de 1 a 0. Ejecute la instrucción RECONFIGURE para instalar.

Y la segunda (la que más me interesa):
Código SQL [-]
sp_configure 'show advanced options', 1
GO
RECONFIGURE
GO
sp_configure 'Ad Hoc Distributed Queries', 1
GO
RECONFIGURE
GO
EXEC master.dbo.sp_MSset_oledb_prop N'Microsoft.ACE.OLEDB.12.0;Excel = 12.0' , N'AllowInProcess' , 1
GO
EXEC master.dbo.sp_MSset_oledb_prop N'Microsoft.ACE.OLEDB.12.0;Excel = 12.0' , N'DynamicParameters' , 1
GO
insert into openrowset('microsoft.ace.oledb.12.0','Excel = 12.0;Database=J:\MTZXT\Basura\esting.xlsx;HDR=YES',ListaE$) SELECT ACODPRO, APREACT AS PRECIO, ATIPMON AS MONEDA FROM FALISPR WHERE ANUMLIS=20
go
sp_configure 'Ad Hoc Distributed Queries', 0
GO
RECONFIGURE
GO
sp_configure 'show advanced options', 0
GO
RECONFIGURE
GO

Me arroja los siguientes mensajes:
Código:

Se ha cambiado la opción de configuración 'show advanced options' de 0 a 1. Ejecute la instrucción RECONFIGURE para instalar.
Se ha cambiado la opción de configuración 'Ad Hoc Distributed Queries' de 0 a 1. Ejecute la instrucción RECONFIGURE para instalar.
El proveedor OLE DB "microsoft.ace.oledb.12.0" del servidor vinculado "(null)" devolvió el mensaje "No se pudo encontrar el archivo ISAM instalable.".
Mens. 7303, Nivel 16, Estado 1, Línea 18
No se puede inicializar el objeto de origen de datos del proveedor OLE DB "microsoft.ace.oledb.12.0" para el servidor vinculado "(null)".

Se ha cambiado la opción de configuración 'Ad Hoc Distributed Queries' de 1 a 0. Ejecute la instrucción RECONFIGURE para instalar.
Se ha cambiado la opción de configuración 'show advanced options' de 1 a 0. Ejecute la instrucción RECONFIGURE para instalar.

Para éste último caso, es obvio (y estoy consciente) que el problema es que deseo ejecutar 32 en 64 bits, pero pensando en el destinatario del desarrollo, que corra en 32 bits es la meta.

¿Cómo debería corregir o qué corregir para que CUALQUIERA DE AMBOS juegos de sentencias SQL funcionen y obtenga un archivo *.XLSX a partir de los datos? Gracias de antemano por su colaboración.

gatosoft 12-07-2017 00:22:02

Para tu segundo caso, te dice el error: "el servidor vinvulado "NULL"......"

¿Sería posible que tuvieras que hacer un paso adicional con sp_addlinkedserver o directamente desde el sql manager por la opcion "serverObjects/LinkedServers"...?


La franja horaria es GMT +2. Ahora son las 15:06:14.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi