Problema con link server

24/10/2008 - 10:19 por Cristian Meneses | Informe spam
Buenos dias a todos
Tengo lo siguiente

DECLARE @SQL VARCHAR(1000)
DECLARE @XLSFile VARCHAR(100)
DECLARE @Algo INT
SET @XLSFile = 'C:/Prueba.xls'
SET @SQL = 'sp_addlinkedserver N''Excel'', N''Jet 4.0'',
N''Microsoft.Jet.OLEDB.4.0'',
N'''+ @XLSFile +''', NULL, N''Excel 5.0'''
EXEC (@SQL)
GO

INSERT INTO #AUXXLS SELECT * FROM OPENQUERY(Excel, 'SELECT * FROM
[Hoja1$]')
SELECT @Algo AS Algo, * FROM #AUXXLS

Por un lado mi idea es importar un archivo de excel. Lo hago mediante
linkserver porque con OPENROWSET salia todo ok pero a la hora de
implementarlo en un procedimiento almacenado y llamarlo desde vb 6.0
en el mismo pc daba un error.
Por otro, necesito que la variable @Algo (futuro parametro de mi
procedimiento) sea utilizado luego de la instruccion GO.
Por ultimo si lo hiciera a mano simulando el proceso no da ningun
error, pero tal com figura arriba me da
El proveedor OLE DB "Microsoft.Jet.OLEDB.4.0" para el servidor
vinculado "Excel" devolvió el mensaje "El motor de base de datos
Microsoft Jet no pudo encontrar el objeto 'Hoja1'. Asegúrese de que el
objeto existe, y que ha escrito el nombre y la ruta de acceso al
objeto correctamente.".
Mens. 7350, Nivel 16, Estado 2, Línea 2
No se puede obtener la información de columna del proveedor OLE DB
"Microsoft.Jet.OLEDB.4.0" para el servidor vinculado "Excel".
En fin, espero que alguien me de una mano. Requiero con urgencia
terminar este tema. Atte


Cristian Meneses
 

Leer las respuestas

#1 Cristian Meneses
24/10/2008 - 10:35 | Informe spam
Por cierto.. el error que daba desde visual basic y no desde sql, todo
probando en un mismo pc de la forma OPENROWSET era

[Microsoft][ODBC SQL Server Driver][SQL Server]Denegado el acceso ad
hoc al proveedor OLE DB 'Microsoft.Jet.OLEDB.4.0'. El acceso debe
realizarse mediante un servidor vinculado.

Por este motivo me estoy pasando a linkedserver, aunque hubiera
preferido no tocar nada y que funcionara todo bien.


Cristian Meneses

Preguntas similares