Pregunta

Si tengo una gran cantidad de datos en la memoria, lo que es la mejor forma de copiar en una tabla SQL CE? La pila de la tecnología actual es C #, ADO.net y SQL CE.

Mi idea inicial era hacer una instrucción INSERT para cada fila de datos, pero esto consume mucho tiempo. ¿Hay una manera más fácil?

¿Fue útil?

Solución

Lo primero que vino a la cabeza fue hacer una sincronización / fusión con una base de datos de escritorio o servidor, sin embargo, que no suena como lo que realmente se adapte a sus necesidades. Así que aquí es mi segundo pensamiento:

BULK INSERT nombre_tabla DE data_file

No estoy seguro de si es compatible con su versión de SQL CE (a pesar de que parece estar apoyado en 3.5 SP1 desde lo que puedo decir en las páginas de MSDN). http://msdn.microsoft.com/en-us/library/ms188365.aspx

También puede deshabilitar los índices de la tabla, mientras que la inserción de los datos para acelerar las cosas, a continuación, activar / reconstruir el índice, una vez que haya terminado la inserción.

Otros consejos

Steve Lasker tiene una gran href="http://steve.lasker.members.winisp.net/Demos/SQLce35/SQLcePerformance.zip" demoing este con diferentes métodos, pero el mejor método (de lejos) es SqlCeResultSet .

Aquí es un entrada en el blog de Steve con algunas buenas tomas de corriente en la materia.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top