Ver Mensaje Individual
  #1  
Antiguo 06-07-2017
Avatar de TiammatMX
TiammatMX TiammatMX is offline
Miembro
 
Registrado: jun 2006
Ubicación: Universo Curvo\Vía Láctea\Sistema Solar\Planeta Tierra\América\México\Puebla\Heróica Puebla de Zaragoza\Jardines de San Manuel\Home
Posts: 746
Reputación: 18
TiammatMX Va camino a la fama
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.
__________________
Felipe Eduardo Ortiz López. Delphi programmers does it recursively...

"Un programador, es un creador de universos en donde sólo él es responsable. Universos de complejidad prácticamente ilimitada que se puede crear en forma de programas de ordenador." - Joseph Weizenbaum.

Témele a los profetas... y a aquellos que están listos para morir por "la verdad", ya que como regla general hacen morir a muchos otros con ellos, frecuentemente antes que ellos, y a veces en lugar de ellos. — Umberto Eco
Responder Con Cita