Consulta sobre servidor vinculado Excel

28/05/2009 - 16:41 por Geovanny Quirós C. | Informe spam
Hola Grupo,
Estoy trabajando con Sql 2005

tengo un servidor vinculado por medio del cual puedo hacer diversas
consultas a Excel 2003
Este es el codigo con el que lo cree:

Sp_AddLinkedServer
@Server = N'ServidorExcel',
@SrvProduct = N'Excel',
@Provider = N'Microsoft.Jet.OLEDB.4.0',
@DataSrc = N'd:\datos04\procesos\lsexcel\datos.xls',
@ProvStr = N'Excel 8.0'

sp_serveroption
@server =N'ServidorExcel',
@optname =N'collation name',
@optvalue =N'SQL_Latin1_General_CP1_CI_AS'


Con este codigo puedo hacer consultas:

Select * From
OpenQuery(ServidorExcel, 'Select * From [HOJA1$] where codlinea="0000000006"
')

Hasta aqui todo bien.

La pregunta es: Cómo se puede hacer un Insert, un update ó un delete al
archivo de Excel desde SQL?; he intentado varias cosas pero no lo consigo:

Ejemplos que no funcionan:

OPENQUERY(ServidorExcel ,'insert into [HOJA1$]
CEDULA,OPERACION,CODLINEA,FORMALIZA,MONTO,CUOTA,SALDO,TASA,PLAZO,ULTIMOPAG
values("401460552","AUTP00001","0000000006","2009-03-01",1,1,1,1,1,"2009-03-01")'
)

SELECT * FROM OPENQUERY(ServidorExcel ,'insert into [HOJA1$]
CEDULA,OPERACION,CODLINEA,FORMALIZA,MONTO,CUOTA,SALDO,TASA,PLAZO,ULTIMOPAG
values("401460552","AUTP00001","0000000006","2009-03-01",1,1,1,1,1,"2009-03-01")'
)

OpenQuery(ServidorExcel, 'delete [HOJA1$] where codlinea="0000000006" ')


Muchas gracias a todos
 

Leer las respuestas

#1 Carlos Sacristan
28/05/2009 - 16:54 | Informe spam
En http://www.mssqltips.com/tip.asp?tip02 tienes ejemplos de cómo hacerlo

Un saludo
-
www.navento.com
Servicios de Localización GPS

http://blogs.solidq.com/ES/ElRincon...fault.aspx

"Geovanny Quirós C." escribió en el mensaje
news:
Hola Grupo,
Estoy trabajando con Sql 2005

tengo un servidor vinculado por medio del cual puedo hacer diversas
consultas a Excel 2003
Este es el codigo con el que lo cree:

Sp_AddLinkedServer
@Server = N'ServidorExcel',
@SrvProduct = N'Excel',
@Provider = N'Microsoft.Jet.OLEDB.4.0',
@DataSrc = N'd:\datos04\procesos\lsexcel\datos.xls',
@ProvStr = N'Excel 8.0'

sp_serveroption
@server =N'ServidorExcel',
@optname =N'collation name',
@optvalue =N'SQL_Latin1_General_CP1_CI_AS'


Con este codigo puedo hacer consultas:

Select * From
OpenQuery(ServidorExcel, 'Select * From [HOJA1$] where
codlinea="0000000006" ')

Hasta aqui todo bien.

La pregunta es: Cómo se puede hacer un Insert, un update ó un delete al
archivo de Excel desde SQL?; he intentado varias cosas pero no lo consigo:

Ejemplos que no funcionan:

OPENQUERY(ServidorExcel ,'insert into [HOJA1$]
CEDULA,OPERACION,CODLINEA,FORMALIZA,MONTO,CUOTA,SALDO,TASA,PLAZO,ULTIMOPAG
values("401460552","AUTP00001","0000000006","2009-03-01",1,1,1,1,1,"2009-03-01")'
)

SELECT * FROM OPENQUERY(ServidorExcel ,'insert into [HOJA1$]
CEDULA,OPERACION,CODLINEA,FORMALIZA,MONTO,CUOTA,SALDO,TASA,PLAZO,ULTIMOPAG
values("401460552","AUTP00001","0000000006","2009-03-01",1,1,1,1,1,"2009-03-01")'
)

OpenQuery(ServidorExcel, 'delete [HOJA1$] where codlinea="0000000006" ')


Muchas gracias a todos


Preguntas similares