Hola, estoy intentando importar datos desde un libro de Excel con una
hoja cuyo nombre tiene espacios y puntos.La importación la hago a
través de un sp:
SET @select = N'INSERT CostesRRHH
SELECT
almacen.dbo.Ofertas.IdOferta,'
+Str(@idEmpresa) + ' as IdEmpresa,
Costes.[Unidad operativa],
Costes.[Categoría],
Costes.HorasInforme,
Costes.TotalObraInforme,'
+ Str(@mes) +' as Mes,'
+ Str(@año) + ' as Año,
'''+ cast (getdate() as varchar(40)) +''' as FechaIntegracion,
'''+ suser_sname() + '@' + HOST_NAME() +''' as UC ,
'''+ cast (getdate() as varchar(40)) +''' as MC,
null as UE,
null as ME
FROM
(SELECT
[Unidad operativa],
Obra,
[Categoría],
sum([Nº horas obra]) as HorasInforme,
Sum([Total obra]) as TotalObraInforme
FROM
OpenDataSource(''Microsoft.Jet.OLEDB.4.0'',''Data Source="' +@ruta
+'";Extended properties=Excel 8.0;'')...['''+@hoja+'$'']
GROUP BY
[Unidad operativa],
Obra,
[Categoría]) Costes
INNER JOIN almacen.dbo.Ofertas ON almacen.dbo.Ofertas.Referencia Costes.Obra'
EXECUTE sp_executesql @select
El problema es que me da el siguiente error cuando la hoja tiene puntos
en el nombre:
Servidor: mensaje 7314, nivel 16, estado 1, línea 7
El proveedor OLE DB 'Microsoft.Jet.OLEDB.4.0' no contiene la tabla
''FABRICACION S.A. $''. La tabla no existe o bien el usuario actual no
tiene permisos para ella.
Traza de error de OLE DB [Non-interface error: OLE DB provider does
not contain the table: ProviderName='Microsoft.Jet.OLEDB.4.0',
TableName=''FABRICACION S.A. $''].
¿Alguna sugerencia?.
Gracias
Leer las respuestas