Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General » SQL Server »

importar datos en diferentes hojas excel en ssis

Estas en el tema de importar datos en diferentes hojas excel en ssis en el foro de SQL Server en Foros del Web. Hola Necesito ayuda, tengo que importar datos por medio de un paquete ssis de varias hojas excel contenidas en varios libros excel, es decir, tengo ...
  #1 (permalink)  
Antiguo 24/11/2010, 11:45
 
Fecha de Ingreso: noviembre-2010
Mensajes: 4
Antigüedad: 13 años, 5 meses
Puntos: 0
importar datos en diferentes hojas excel en ssis

Hola

Necesito ayuda, tengo que importar datos por medio de un paquete ssis de varias hojas excel contenidas en varios libros excel, es decir, tengo 4 libros excel y en cada uno de ellos hay entre 4 y 12 hojas. Me gustaria poder recorrer esas hojas para ir colocando los datos en la base de datos. He implementado este codigo pero no lee ni extrae ningun dato del libro con el que esta trabajando:

excelFile = Dts.Variables("v_ExcelFile").Value.ToString
connectionString = "Provider=Microsoft.Jet.OLEDB.4.0;" & _
"Data Source=" & excelFile & _
";Extended Properties=Excel 8.0"
excelConnection = New OleDbConnection(connectionString)
excelConnection.Close()
excelConnection.Open()

tablesInFile = excelConnection.GetSchema("Tables", restrictions)
tableCount = tablesInFile.Rows.Count
ReDim excelTables(tableCount - 1)
For Each tableInFile In tablesInFile.Rows
currentTable = tableInFile.Item("TABLE_NAME").ToString
excelTables(tableIndex) = currentTable
tableIndex += 1
Next
  #2 (permalink)  
Antiguo 25/11/2010, 16:31
 
Fecha de Ingreso: febrero-2009
Mensajes: 312
Antigüedad: 15 años, 2 meses
Puntos: 4
Respuesta: importar datos en diferentes hojas excel en ssis

Hola.

Suponiendo que el código esté bien, te cercioraste que el string de conexión o la ruta del fichero excel esté correctamente?

Se llega a conectar al fichero excel?
  #3 (permalink)  
Antiguo 25/11/2010, 18:11
 
Fecha de Ingreso: noviembre-2010
Mensajes: 4
Antigüedad: 13 años, 5 meses
Puntos: 0
Respuesta: importar datos en diferentes hojas excel en ssis

Hola buenas,

La cadena de conexion creo que es correcta, depure el programa y abre excel y el libro que se le indica, aunque probare por si acaso a revisar la cadena.

Muchas gracias
  #4 (permalink)  
Antiguo 13/12/2010, 10:03
 
Fecha de Ingreso: noviembre-2010
Mensajes: 4
Antigüedad: 13 años, 5 meses
Puntos: 0
Respuesta: importar datos en diferentes hojas excel en ssis

Un saludo,

Mire nuevamente la cadena de conexión y hay estaba el error, cuando pones excel=8.0 debe ser un fichero xls y no adminte xlsx por tanto hay esta el error, muchas gracias por la pista dada.

Gracias, gracias, gracias
  #5 (permalink)  
Antiguo 14/12/2010, 04:57
 
Fecha de Ingreso: noviembre-2010
Mensajes: 4
Antigüedad: 13 años, 5 meses
Puntos: 0
De acuerdo Respuesta: importar datos en diferentes hojas excel en ssis (SOLUCIONADO)

Cita:
Iniciado por auze Ver Mensaje
Hola

Necesito ayuda, tengo que importar datos por medio de un paquete ssis de varias hojas excel contenidas en varios libros excel, es decir, tengo 4 libros excel y en cada uno de ellos hay entre 4 y 12 hojas. Me gustaria poder recorrer esas hojas para ir colocando los datos en la base de datos. He implementado este codigo pero no lee ni extrae ningun dato del libro con el que esta trabajando:

excelFile = Dts.Variables("v_ExcelFile").Value.ToString
connectionString = "Provider=Microsoft.Jet.OLEDB.4.0;" & _
"Data Source=" & excelFile & _
";Extended Properties=Excel 8.0"
excelConnection = New OleDbConnection(connectionString)
excelConnection.Close()
excelConnection.Open()

tablesInFile = excelConnection.GetSchema("Tables", restrictions)
tableCount = tablesInFile.Rows.Count
ReDim excelTables(tableCount - 1)
For Each tableInFile In tablesInFile.Rows
currentTable = tableInFile.Item("TABLE_NAME").ToString
excelTables(tableIndex) = currentTable
tableIndex += 1
Next
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 06:53.