Importación archivos

14/01/2008 - 21:20 por Juan Alberto | Informe spam
Hola grupo,

Tengo la siguiente consulta:

¿qué posibilidad existe de importar un archivo de texto mediante ejecución
de
consultas SQL?

Preguntas similare

Leer las respuestas

#6 Jesús López
15/01/2008 - 14:15 | Informe spam
Juan Alberto,

Veo que según un mismo hilo en el grupo de VB, lo que quieres hacer es
importar un archivo de texto a una base de datos SQL Compact/Mobile/CE. SQL
Compact no tiene procedimientos almacenados, ni DTS y SSIS ni la instrucción
BULK INSERT ni la herramienta bcp. SQL Compact no tiene ninguna herramienta
especial para cargar datos de forma masiva. La forma más eficiente de cargar
datos de forma masiva es la siguiente. Lo escribo en psedo código:

Abrir el archivo de texto
Crear conexión a la base de datos
Crear comando parametrizado de inserción (algo así como INSERT INTO
LaTabla(Campo1, Campo2, ) VALUES (@Campo1, @Campo2, ...)
Establecer la colección de parámetros del comando ( por ejemplo:
cmd.Parameters.Add("@Campo1", TipoCampo1, o tambien
cmd.Parameters.Add("@Campo2", TipoCampo2, longitudCampo2)
Abrir la conexión a la base de datos
Preparar el comando (cmd.Prepare())
Comenzar una transacción
Asignar la transacción al comando
Por cada línea en el archivo de texto
Parsear la línea de texto
Asignar el valor de los parámetros. Por ejemplo
cmd.Parameters("@Campo1").Value = Valor para campo1
Ejecutar el comando co cmd.ExecuteNonQuery()
Fin Por cada línea en el archivo de texto
Confirmar la transacción
Cerrar la conexión
Cerrar el archivo

Quiero recalcar que lo que hace este código eficiente es que:
* Se reutiliza constantemente un comando parametrizado preparado. No
creamos un nuevo comando por cada línea de texto. Creamos el comando una vez
y lo reutilizamos
* Toda la carga de datos se ejecuta en una única transacción larga en
vez de ejecutar cada insert en una pequeña transacción.



Algunos tips para acelerar un poco más el rendimiento son:

1) pon "max buffer size24" en la cadena de conexión.
2) Échale un vistazo a este artículo:

http://www.pocketpcdn.com/articles/...mp;atb.set(c_id)t&atb.set(a_id)213&atb.perform(details)=&






"Juan Alberto" escribió en el mensaje
news:
Resulta que estamos desarrollando una pequeña aplicación para PocketPC con
WindowsCE y SQLCE.

Tenemos un archivo de texto el cual al procesarlo nos da alrededor de 30
000 registros y para mayor velocidad lo que deseamos es encontrar la
manera de enviar el archivo a un procedimiento para cargar la tabla de la
BD con éste archivo.

Nota. Lo que se desea es que la aplicación importe el archivo.

Cualquier idea se las agradezco mucho.

Juan Alberto.


"ryuyi" escribió en el mensaje
news:
Tienes un archivo de texto y lo quieres insertar en una tabla o que es lo
que
quieres hacer ? si es asi porque no te crear un DTS y lo importas el
archivo
de texto

"Juan Alberto" wrote:

Hola grupo,

Tengo la siguiente consulta:

¿qué posibilidad existe de importar un archivo de texto mediante
ejecución
de
consultas SQL?









Respuesta Responder a este mensaje
#7 Jesús López
15/01/2008 - 14:16 | Informe spam
SQL Compact no tiene procedimientos almacenados ni servidores vinculados



"Carlos A." escribió en el mensaje
news:
Efectivemente lo que le acabo de escribir es la mejor opción. Si lo va a
cargar desde la aplicación. Solo que el archivo siempre se debbe llamar de
la
misma forma y debe estar en la misma ruta. Para que el linked server no
note
la diferencia.
Luego se hacer un select into. desde un SP para que inserte los
registros.
Un saludo,


"Juan Alberto" wrote:

Resulta que estamos desarrollando una pequeña aplicación para PocketPC
con
WindowsCE y SQLCE.

Tenemos un archivo de texto el cual al procesarlo nos da alrededor de 30
000
registros y para mayor velocidad lo que deseamos es encontrar la manera
de
enviar el archivo a un procedimiento para cargar la tabla de la BD con
éste
archivo.

Nota. Lo que se desea es que la aplicación importe el archivo.

Cualquier idea se las agradezco mucho.

Juan Alberto.


"ryuyi" escribió en el mensaje
news:
> Tienes un archivo de texto y lo quieres insertar en una tabla o que es
> lo
> que
> quieres hacer ? si es asi porque no te crear un DTS y lo importas el
> archivo
> de texto
>
> "Juan Alberto" wrote:
>
>> Hola grupo,
>>
>> Tengo la siguiente consulta:
>>
>> ¿qué posibilidad existe de importar un archivo de texto mediante
>> ejecución
>> de
>> consultas SQL?
>>
>>
>>



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