Estoy tratando de exportar una hoja de Excel .xls a una nueva tabla de sql server 2005 mediante un SELECT * INTO, puesto que esta hoja cambiará con el tiempo y tendrá más columnas, con lo que tirando la tabla y ejecutando esta consulta, me sirve para lo que necesito.
El caso es que al tratar de ejecutar el código, me salta el siguiente error:
Podría pensarse que no recibo datos de la hoja en cuestion del excel, pero si que se reciben, ya lo he comprobado.
Este es el código que utilizo, en la gran mierda de VB.NET, puesto que SSIS sólo permite programar con esto:
Ésta misma consulta, tratando de hacerle el INSERT INTO en otra hoja nueva de Excel por ejemplo, si que funciona, por lo que es como si pasase de mi la cláusula IN... Pero la sintaxis está bien, ya que si meto alguna cagada, en el código original tengo un try catch donde me devuelve el error en concreto...
El proveedor, tampoco es, he probado ODBC en lugar de SQLNCLI.1 y nada.
A ver si me podéis echar un cable porque me estoy volviendo loco, y algun ejemplo que he encontrado por ahi, hacen lo mismo que yo.
El caso es que al tratar de ejecutar el código, me salta el siguiente error:
CitarLos datos proporcionados en la consulta deben contener al menos una tabla o consulta
Podría pensarse que no recibo datos de la hoja en cuestion del excel, pero si que se reciben, ya lo he comprobado.
Este es el código que utilizo, en la gran mierda de VB.NET, puesto que SSIS sólo permite programar con esto:
Código [Seleccionar]
Dim connString As String = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=archivo.xls;Extended Properties='Excel 8.0;HDR=YES'"
Dim cnn As New OleDbConnection(connString)
Dim sql As String
sql = "SELECT * INTO TablaDestino IN ''[SQLNCLI.1;Data Source=servidorSql;Initial Catalog=nombreBaseDatos;Integrated Security=SSPI]'' FROM [NombreDeHoja$]"
Dim cmd As New OleDbCommand(sql, cnn)
cnn.Open()
cmd.ExecuteNonQuery()
cnn.Close()
Ésta misma consulta, tratando de hacerle el INSERT INTO en otra hoja nueva de Excel por ejemplo, si que funciona, por lo que es como si pasase de mi la cláusula IN... Pero la sintaxis está bien, ya que si meto alguna cagada, en el código original tengo un try catch donde me devuelve el error en concreto...
El proveedor, tampoco es, he probado ODBC en lugar de SQLNCLI.1 y nada.
A ver si me podéis echar un cable porque me estoy volviendo loco, y algun ejemplo que he encontrado por ahi, hacen lo mismo que yo.