tomar archivo de excel en una dts

02/11/2005 - 20:07 por diana idrobo | Informe spam
hola a todos,
necesito crear un procedimeinto almacenado que por medio de un parámetro
capture una ruta y un nombre de archivo de excel y luego se ejecute una DTS,
en la cual la fuente de datos (source) debe ser el parámetro enviado
(ruta+nombre.xls), sabiendo que siempre las columnas del archivo de XLS son
las mismas. Es de tener en cuenta que tanto la ruta como el nombre varian.

GRACIAS

Preguntas similare

Leer las respuestas

#6 Alejandro Mesa
02/11/2005 - 22:51 | Informe spam
diana idrobo,

Vamos por parte.

Leyendo la ayuda que me proporcionaste en el Link, lo que me queda de duda
es saber como hacer para que en el dtsrun se pueda enviar tambien la variable
ruta para que se pueda tomar en el ActiveX Script Task



Existen varias formas de hacer esto y una de ellas seria almacenando este
valor en una tabla y dejar que el paquete DTS la lea y la asigne a la
propiedad "Data Source" de la conexion al archivo excel. Te recomiendo leas
un poco sobre el tipo de tarea "Dynamic Properties Task".

desde una aplicación se debe ejecutar el Sp, cuyo parámetro de entrada es una
ruta, en la cual se tiene la ruta y nombre del archivo xls
('c:\archivos\prueba.xls'). La función del Sp es obtener la información del
archivo de excel y enviar la información a una tabla de SQL, el archivo de
excel se encuentra en la variable ruta que es la que me llega como parámetro
en el Sp ('c:\archivos\prueba.xls').



Para hacer no se requiere un paquete DTS, puedes usar las funciones de
conjunto de filas como OPENROWSET y OPENDATASOURCE, las cuales te dejan leer
directamente desde un archivo excel y por tanto pudieras usar la sentencia
"insert ... select ..." para almacenar el contenido del archivo directamente
en una tabla. Aca te paso un link donde puedes leer como hacerlo.

How to query an Excel sheet using OpenDataSource
http://www.databasejournal.com/feat...hp/3331881


AMB

"diana idrobo" wrote:

desde una aplicación se debe ejecutar el Sp, cuyo parámetro de entrada es una
ruta, en la cual se tiene la ruta y nombre del archivo xls
('c:\archivos\prueba.xls'). La función del Sp es obtener la información del
archivo de excel y enviar la información a una tabla de SQL, el archivo de
excel se encuentra en la variable ruta que es la que me llega como parámetro
en el Sp ('c:\archivos\prueba.xls').
Es por esto que se pensó en crear una dts.

Leyendo la ayuda que me proporcionaste en el Link, lo que me queda de duda
es saber como hacer para que en el dtsrun se pueda enviar tambien la variable
ruta para que se pueda tomar en el ActiveX Script Task

"Alejandro Mesa" escribió:

> diana idrobo,
>
> > en el sp capturo la ruta en una variable
>
> Me puedes decir que significa para ti "capturo la ruta en una variable"?.
> Ese valor se lo pasa al sp como parametro, o lo lees desde alguna tabla, o
> como haces?
>
>
> AMB
>
> "diana idrobo" wrote:
>
> > hola,
> > en el sp capturo la ruta en una variable, y esta es la que debe tomar la DTS
> > para copiar los archivos en la tabla de sql. es de tener en cuenta que la
> > ruta y el nombre varían según el usuario que ejecute el sp.
> >
> > gracias
> >
> > "Alejandro Mesa" escribió:
> >
> > > diana idrobo,
> > >
> > > Como vas a capturar la ruta?
> > >
> > > Eso lo puedes hacer desde el mismo paquete DTS. Aca te paso un ejemplo de
> > > como cambiar el nombre del archivo en una conexion a un archivo texto (guiate
> > > por este ejemplo).
> > >
> > > How can I change the filename for a text file connection?
> > > http://www.sqldts.com/default.aspx?200
> > >
> > >
> > > AMB
> > >
> > > "diana idrobo" wrote:
> > >
> > > > hola a todos,
> > > > necesito crear un procedimeinto almacenado que por medio de un parámetro
> > > > capture una ruta y un nombre de archivo de excel y luego se ejecute una DTS,
> > > > en la cual la fuente de datos (source) debe ser el parámetro enviado
> > > > (ruta+nombre.xls), sabiendo que siempre las columnas del archivo de XLS son
> > > > las mismas. Es de tener en cuenta que tanto la ruta como el nombre varian.
> > > >
> > > > GRACIAS
> > > >
> > > >
> > > >
Respuesta Responder a este mensaje
#7 dcidrobos
03/11/2005 - 16:44 | Informe spam
muchas gracias, me fue de gran ayuda solucionar la inquietud, opte por la
segunda opción.


Diana Idrobo

Alejandro Mesa wrote:

diana idrobo,

Vamos por parte.

> Leyendo la ayuda que me proporcionaste en el Link, lo que me queda de duda
> es saber como hacer para que en el dtsrun se pueda enviar tambien la


variable
> ruta para que se pueda tomar en el ActiveX Script Task

Existen varias formas de hacer esto y una de ellas seria almacenando este
valor en una tabla y dejar que el paquete DTS la lea y la asigne a la
propiedad "Data Source" de la conexion al archivo excel. Te recomiendo leas
un poco sobre el tipo de tarea "Dynamic Properties Task".

> desde una aplicación se debe ejecutar el Sp, cuyo parà¡metro de entrada


es una
> ruta, en la cual se tiene la ruta y nombre del archivo xls
> ('c:archivosprueba.xls'). La función del Sp es obtener la información


del
> archivo de excel y enviar la información a una tabla de SQL, el archivo


de
> excel se encuentra en la variable ruta que es la que me llega como


parà¡metro
> en el Sp ('c:archivosprueba.xls').

Para hacer no se requiere un paquete DTS, puedes usar las funciones de
conjunto de filas como OPENROWSET y OPENDATASOURCE, las cuales te dejan leer
directamente desde un archivo excel y por tanto pudieras usar la sentencia
"insert ... select ..." para almacenar el contenido del archivo directamente
en una tabla. Aca te paso un link donde puedes leer como hacerlo.

How to query an Excel sheet using OpenDataSource
http://www.databasejournal.com/feat...hp/3331881


AMB

"diana idrobo" wrote:

> desde una aplicación se debe ejecutar el Sp, cuyo parà¡metro de entrada


es una
> ruta, en la cual se tiene la ruta y nombre del archivo xls
> ('c:archivosprueba.xls'). La función del Sp es obtener la información


del
> archivo de excel y enviar la información a una tabla de SQL, el archivo


de
> excel se encuentra en la variable ruta que es la que me llega como


parà¡metro
> en el Sp ('c:archivosprueba.xls').
> Es por esto que se pensó en crear una dts.
>
> Leyendo la ayuda que me proporcionaste en el Link, lo que me queda de duda
> es saber como hacer para que en el dtsrun se pueda enviar tambien la


variable
> ruta para que se pueda tomar en el ActiveX Script Task
>
> "Alejandro Mesa" escribió:
>
> > diana idrobo,
> >
> > > en el sp capturo la ruta en una variable
> >
> > Me puedes decir que significa para ti "capturo la ruta en una


variable"?.
> > Ese valor se lo pasa al sp como parametro, o lo lees desde alguna tabla,


o
> > como haces?
> >
> >
> > AMB
> >
> > "diana idrobo" wrote:
> >
> > > hola,
> > > en el sp capturo la ruta en una variable, y esta es la que debe tomar


la DTS
> > > para copiar los archivos en la tabla de sql. es de tener en cuenta


que la
> > > ruta y el nombre varà­an segàºn el usuario que ejecute el sp.
> > >
> > > gracias
> > >
> > > "Alejandro Mesa" escribió:
> > >
> > > > diana idrobo,
> > > >
> > > > Como vas a capturar la ruta?
> > > >
> > > > Eso lo puedes hacer desde el mismo paquete DTS. Aca te paso un


ejemplo de
> > > > como cambiar el nombre del archivo en una conexion a un archivo


texto (guiate
> > > > por este ejemplo).
> > > >
> > > > How can I change the filename for a text file connection?
> > > > http://www.sqldts.com/default.aspx?200
> > > >
> > > >
> > > > AMB
> > > >
> > > > "diana idrobo" wrote:
> > > >
> > > > > hola a todos,
> > > > > necesito crear un procedimeinto almacenado que por medio de un


parà¡metro
> > > > > capture una ruta y un nombre de archivo de excel y luego se


ejecute una DTS,
> > > > > en la cual la fuente de datos (source) debe ser el parà¡metro


enviado
> > > > > (ruta+nombre.xls), sabiendo que siempre las columnas del archivo


de XLS son
> > > > > las mismas. Es de tener en cuenta que tanto la ruta como el


nombre varian.
> > > > >
> > > > > GRACIAS
> > > > >
> > > > >
> > > > >
email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una pregunta AnteriorRespuesta Tengo una respuesta
Search Busqueda sugerida