Exportar / Importar XML

10/12/2009 - 04:19 por Jose Camacho Vaca | Informe spam
Tengo un codigo para intentar exportar, importas datos de una tabla de
ms-sql, desde VS-2005, pero no funciona:

//cargo los datos de mi tabla en un datatable
DataTable x = loConManager.Consulta("select * from mitabla");
//los grabo en un xml
x.writexml("c:\\miarchivo.xml", XmlWriteMode.WriteSchema);
// ahora trato de importarlos.
DataTable x = new DataTable();
x.TableName = "mitabla";
x.ReadXml("c:\\miarchivo.xml");

Aqui es donde esta mal, me lee el xml como si fuera un string. Y no puedo
ver las filas y columnas de mi tabla original exportada.

Gracias por su ayuda. Saludos.
José Camacho Vaca
Colima, MX

Preguntas similare

Leer las respuestas

#1 SoftJaén
13/12/2009 - 09:50 | Informe spam
"Jose Camacho Vaca" escribió:

Tengo un codigo para intentar exportar, importas datos de una tabla de
ms-sql, desde VS-2005, pero no funciona:

// ahora trato de importarlos.
DataTable x = new DataTable();
x.TableName = "mitabla";
x.ReadXml("c:\\miarchivo.xml");

Aqui es donde esta mal, me lee el xml como si fuera un string. Y no puedo
ver las filas y columnas de mi tabla original exportada.



Hola, José

Tienes que procurar que la propiedad TableName del objeto DataTable cuyos
datos guardastes como XML, tenga por valor "mitabla", o bien, indicar en la
propiedad TableName del nuevo objeto DataTable, el valor de la propiedad
TableName original.

En definitiva, que si el valor de la propiedad TableName es "mitabla",
entiendo que no debes de tener problemas para leer el archivo XML, pero si
al guardar el archivo como XML, el valor de la propiedad TableName era otro,
tendrás que especificar dicho valor a la hora de leer el archivo XML.

También lo que puedes hacer es NO ESPECIFICAR la propiedad TableName cuando
desees leer el archivo XML:

// ahora trato de importarlos.
DataTable x = new DataTable();
x.ReadXml("c:\\miarchivo.xml");

Un saludo

Enrique Martínez
[MS MVP - VB]

Nota informativa: La información contenida en este mensaje, así como el
código fuente incluido en el mismo, se proporciona «COMO ESTÁ», sin
garantías de ninguna clase, y no otorga derecho alguno. Usted asume
cualquier riesgo al poner en práctica, utilizar o ejecutar lo recomendado o
sugerido en el presente mensaje.
Respuesta Responder a este mensaje
#2 Jose Camacho Vaca
15/12/2009 - 02:23 | Informe spam
Gracias por tu ayuda Enrique. Otra duda. Será posible hacer, yo me imagino
que si, porque yo lo podia hacer en Fox con MS-SQL (vengo de fox como ya te
habras dado cuenta):

- cargar toda una tabla en un datatable.
- esportarla a xml con el writexml
- llevar ese xml a otra maq.
- borrar la tabla en sql
- cargar el xml en un dataset
- quitarle los constrains.
- grabar el xml cargado en la tabla de sql.

agradeceria cualquier sugerencia. Gracias nuevamente y saludos.
José Camacho Vaca
Colima, MX


"SoftJaén" wrote:

"Jose Camacho Vaca" escribió:

> Tengo un codigo para intentar exportar, importas datos de una tabla de
> ms-sql, desde VS-2005, pero no funciona:
>
> // ahora trato de importarlos.
> DataTable x = new DataTable();
> x.TableName = "mitabla";
> x.ReadXml("c:\\miarchivo.xml");
>
> Aqui es donde esta mal, me lee el xml como si fuera un string. Y no puedo
> ver las filas y columnas de mi tabla original exportada.

Hola, José

Tienes que procurar que la propiedad TableName del objeto DataTable cuyos
datos guardastes como XML, tenga por valor "mitabla", o bien, indicar en la
propiedad TableName del nuevo objeto DataTable, el valor de la propiedad
TableName original.

En definitiva, que si el valor de la propiedad TableName es "mitabla",
entiendo que no debes de tener problemas para leer el archivo XML, pero si
al guardar el archivo como XML, el valor de la propiedad TableName era otro,
tendrás que especificar dicho valor a la hora de leer el archivo XML.

También lo que puedes hacer es NO ESPECIFICAR la propiedad TableName cuando
desees leer el archivo XML:

// ahora trato de importarlos.
DataTable x = new DataTable();
x.ReadXml("c:\\miarchivo.xml");

Un saludo

Enrique Martínez
[MS MVP - VB]

Nota informativa: La información contenida en este mensaje, así como el
código fuente incluido en el mismo, se proporciona «COMO ESTÁ», sin
garantías de ninguna clase, y no otorga derecho alguno. Usted asume
cualquier riesgo al poner en práctica, utilizar o ejecutar lo recomendado o
sugerido en el presente mensaje.


Respuesta Responder a este mensaje
#3 SoftJaén
15/12/2009 - 16:58 | Informe spam
"Jose Camacho Vaca" preguntó:

Será posible hacer :

- cargar toda una tabla en un datatable.
- esportarla a xml con el writexml
- llevar ese xml a otra maq.
- borrar la tabla en sql
- cargar el xml en un dataset
- quitarle los constrains.
- grabar el xml cargado en la tabla de sql.




Si tienes un archivo XML, entiendo que podrás pasar sus datos a la tabla de
la base de SQL Server, utilizando las características XML de Microsoft SQL
Server.

Busca información en los Libros en Pantalla sobre el comando OPENXML de
Transact-SQL, aunque si tienes dudas, te aconsejaría que efectuaras la
consulta en el grupo de noticias en español de Microsoft SQL Server, donde
seguramente obtendrás una información más completa de la que yo te pueda
ofrecer.

microsoft.public.es.sqlserver

Enrique Martínez
[MS MVP - VB]

Nota informativa: La información contenida en este mensaje, así como el
código fuente incluido en el mismo, se proporciona «COMO ESTÁ», sin
garantías de ninguna clase, y no otorga derecho alguno. Usted asume
cualquier riesgo al poner en práctica, utilizar o ejecutar lo recomendado o
sugerido en el presente mensaje.
Respuesta Responder a este mensaje
#4 Jose Camacho Vaca
17/12/2009 - 20:48 | Informe spam
Gracias por tu ayuda enrique. la verdad no me gustaria hacerlo mediante
sql-server porque no tengo acceso directo a el. preferiria que fuera
mediante programa. la idea es muy simple hacer actualizaciones periodicas de
las tablas en todas las sucursales a partir de las que genera la matriz.
Ejemplo, modifico mi tabla de PRODUCTOS y quiero que se actualice a todas mis
sucursales, genero el arch xml y se los mando y ellos toman ese xml y lo
cargan. El proceso de exportar no se me complica, pero el de importar no lo
he podido llevar al cabo.

Gracias nuevamente por tu ayuda y que pases felices fiestas.
José Camacho Vaca
Colima, MX


"SoftJaén" wrote:

"Jose Camacho Vaca" preguntó:

> Será posible hacer :
>
> - cargar toda una tabla en un datatable.
> - esportarla a xml con el writexml
> - llevar ese xml a otra maq.
> - borrar la tabla en sql
> - cargar el xml en un dataset
> - quitarle los constrains.
> - grabar el xml cargado en la tabla de sql.
>

Si tienes un archivo XML, entiendo que podrás pasar sus datos a la tabla de
la base de SQL Server, utilizando las características XML de Microsoft SQL
Server.

Busca información en los Libros en Pantalla sobre el comando OPENXML de
Transact-SQL, aunque si tienes dudas, te aconsejaría que efectuaras la
consulta en el grupo de noticias en español de Microsoft SQL Server, donde
seguramente obtendrás una información más completa de la que yo te pueda
ofrecer.

microsoft.public.es.sqlserver

Enrique Martínez
[MS MVP - VB]

Nota informativa: La información contenida en este mensaje, así como el
código fuente incluido en el mismo, se proporciona «COMO ESTÁ», sin
garantías de ninguna clase, y no otorga derecho alguno. Usted asume
cualquier riesgo al poner en práctica, utilizar o ejecutar lo recomendado o
sugerido en el presente mensaje.


.

Respuesta Responder a este mensaje
#5 SoftJaén
18/12/2009 - 10:40 | Informe spam
"Jose Camacho Vaca" escribió:

la verdad no me gustaria hacerlo mediante sql-server porque no
tengo acceso directo a el. preferiria que fuera mediante programa.



Pero si las tablas pertenecen a una base de SQL Server, digo yo que
necesariamente tendrás que tener acceso al servidor de SQL Server.

¿Que no deseas ejecutar la consulta T-SQL directamente desde el propio
Administrador de Microsoft SQL Server? Pues me parece estupendo que lo
hagas desde tu programa de C#, pero insisto que necesariamente tendrás que
tener acceso al servidor de SQL Server, porque de lo contrario, ignoro cómo
vas a poder obtener o modificar los datos de las tablas de la base de SQL
Server. ¿?

Te indiqué que efectuaras la consulta al grupo de SQL Server, para que te
informaras de la sintaxis de la consultas T-SQL relacionadas con XML, que
deberás de ejecutar en tu programa de C#, para actualizar las tablas
existentes en las sucursales.


Enrique Martínez
[MS MVP - VB]

Nota informativa: La información contenida en este mensaje, así como el
código fuente incluido en el mismo, se proporciona «COMO ESTÁ», sin
garantías de ninguna clase, y no otorga derecho alguno. Usted asume
cualquier riesgo al poner en práctica, utilizar o ejecutar lo recomendado o
sugerido en el presente mensaje.
email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida