SQL Server - Exportar XML

 
Vista:

Exportar XML

Publicado por Gabriel Vega (8 intervenciones) el 15/11/2006 18:58:39
Que tal, tengo un problema con una aplicación hecha en Visual Basic 6, esta aplicación genera un Archivo XML qeu es exportado a una Base de datos SQL Server, el problema consiste en que cuando se actualiza la base las letras "ñ, á, é, í, ó, ú" las cambia por caracteres raros, que debo hacer para que esto no suceda.

de antemano les doy las gracias

Pd: oja y me pudieran contestar pronto.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Exportar XML

Publicado por Isaías (3308 intervenciones) el 15/11/2006 19:04:42
Debes validar el COLLATE que tiene tu base de datos.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Exportar XML

Publicado por Gabriel Vega (8 intervenciones) el 15/11/2006 19:30:54
Te agredesco infinitamente Isaias, El COLLATE = SQL_Latin1_General_CP1_CI_AS, tengo que cambiarlo
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Exportar XML

Publicado por Isaías (3308 intervenciones) el 16/11/2006 00:10:31
Debes cambiarlo a uno que te valide los caracteres con ACENTOS, con esta instruccion desde tu analizador de consultas, podras revisar las caracteristicas de los COLLATE:

SELECT *
FROM ::fn_helpcollations()
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Exportar XML

Publicado por Isaias (3308 intervenciones) el 16/11/2006 18:46:43
Estimado Isaias, ya cinfigure el COLLATE como se debe pero aún sigue haciendo lo mismo, en seguida te envio el XML y el Store Procedure que Inserta los datos no estara mal estructurado mi proceso.

<?xml version="1.0" ?>
- <APPSCONTROL STATUS="0" MENSAJE="All right!!!" ORIGEN="Kontrol Reloaded Nomina Homero">
<EMPLEADO ORIGEN="2" NUMERO="003829" AP_MATERNO="SANTA CRUZ" AP_PATERNO="TREVIÑO" NOMBRE="CLAUDIA" GENERO="F" NACIONALIDAD="MEX" NIVEL="E04" FECHA_NIVEL="8/17/1992" PUESTO="562" SBU="0E" LOCALIDAD="H04" NOMLOCALIDAD="LERMA" FECHA_ANTIGUEDAD="8/17/1992" FECHA_NACIMIENTO="8/20/1963" GRADO_ESTUDIOS="" TITULO="" RFC="TESC-630820-AZ8" IMSS="92-92-63-0350-1" EDOCIVIL="" SALADIA="177.4133" STATUS_NOMINA="I" EMPRESA="1" TIPOEMPLEADO="1" PAIS="1" CATEGORIA="0" DESCR_CATEGORIA="GENERICO" REGION="1" ID_TIPO_EMPLEADO="1" ESTADO="0" CALLE="" COLONIA="" CP="" DELGMUN="" UBICACION="H04" FECHACONT="8/17/1992" EMAIL="" FECHAING="8/17/1992" LUGARNAC="" PAISNAC="MEXICO" PAISDOM="MEXICO" TIPOMONEDA="1" FRECSAL="MENSUAL" IPF="0" RTG="80" BAJA="0" DESCRBAJA="" FECHA_BAJA="3/31/1993" />
<EMPLEADO ORIGEN="2" NUMERO="042187" AP_MATERNO="OLVERA" AP_PATERNO="HERNANDEZ" NOMBRE="ALBERTO" GENERO="M" NACIONALIDAD="" NIVEL="E05" FECHA_NIVEL="1/1/2003" PUESTO="3318" SBU="0E" LOCALIDAD="H02" NOMLOCALIDAD="TLALNEPANTLA" FECHA_ANTIGUEDAD="4/8/1987" FECHA_NACIMIENTO="7/23/1957" GRADO_ESTUDIOS="" TITULO="" RFC="HEOA-570723-BJ1" IMSS="16-74-56-0974-9" EDOCIVIL="C" SALADIA="1291.6667" STATUS_NOMINA="A" EMPRESA="1" TIPOEMPLEADO="1" PAIS="1" CATEGORIA="0" DESCR_CATEGORIA="GENERICO" REGION="1" ID_TIPO_EMPLEADO="1" ESTADO="MEXICO" CALLE="1° DE MAYO 104" COLONIA="GUADALUPE" CP="50010" DELGMUN="TOLUCA" UBICACION="H02" FECHACONT="4/8/1987" EMAIL="Alberto Hernandez_Olvera/HO/DuPont" FECHAING="1/1/2000" LUGARNAC="MEX" PAISNAC="MEX" PAISDOM="MEXICO" TIPOMONEDA="1" FRECSAL="MENSUAL" IPF="1.9" RTG="103.8" BAJA="0" DESCRBAJA="" FECHA_BAJA="12/1/1999" />
</APPSCONTROL>

CREATE PROC kr_insert_employee_H
@empdata ntext
AS
DECLARE @hDoc int
DELETE FROM kr_empleados_H
EXEC sp_xml_preparedocument @hDoc OUTPUT, @empdata
INSERT INTO kr_empleados_H
SELECT *
FROM OPENXML(@hDoc, '/APPSCONTROL/EMPLEADO')
WITH kr_empleados_H
EXEC sp_xml_removedocument @hDoc

GO
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Exportar XML

Publicado por Gabriel Vega (8 intervenciones) el 16/11/2006 18:54:58
Estimado Isaias, ya cinfigure el COLLATE como se debe pero aún sigue haciendo lo mismo, en seguida te envio el XML y el Store Procedure que Inserta los datos no estara mal estructurado mi proceso.

<?xml version="1.0" ?>
- <APPSCONTROL STATUS="0" MENSAJE="All right!!!" ORIGEN="Kontrol Reloaded Nomina Homero">
<EMPLEADO ORIGEN="2" NUMERO="003829" AP_MATERNO="SANTA CRUZ" AP_PATERNO="TREVIÑO" NOMBRE="CLAUDIA" GENERO="F" NACIONALIDAD="MEX" NIVEL="E04" FECHA_NIVEL="8/17/1992" PUESTO="562" SBU="0E" LOCALIDAD="H04" NOMLOCALIDAD="LERMA" FECHA_ANTIGUEDAD="8/17/1992" FECHA_NACIMIENTO="8/20/1963" GRADO_ESTUDIOS="" TITULO="" RFC="TESC-630820-AZ8" IMSS="92-92-63-0350-1" EDOCIVIL="" SALADIA="177.4133" STATUS_NOMINA="I" EMPRESA="1" TIPOEMPLEADO="1" PAIS="1" CATEGORIA="0" DESCR_CATEGORIA="GENERICO" REGION="1" ID_TIPO_EMPLEADO="1" ESTADO="0" CALLE="" COLONIA="" CP="" DELGMUN="" UBICACION="H04" FECHACONT="8/17/1992" EMAIL="" FECHAING="8/17/1992" LUGARNAC="" PAISNAC="MEXICO" PAISDOM="MEXICO" TIPOMONEDA="1" FRECSAL="MENSUAL" IPF="0" RTG="80" BAJA="0" DESCRBAJA="" FECHA_BAJA="3/31/1993" />
<EMPLEADO ORIGEN="2" NUMERO="042187" AP_MATERNO="OLVERA" AP_PATERNO="HERNANDEZ" NOMBRE="ALBERTO" GENERO="M" NACIONALIDAD="" NIVEL="E05" FECHA_NIVEL="1/1/2003" PUESTO="3318" SBU="0E" LOCALIDAD="H02" NOMLOCALIDAD="TLALNEPANTLA" FECHA_ANTIGUEDAD="4/8/1987" FECHA_NACIMIENTO="7/23/1957" GRADO_ESTUDIOS="" TITULO="" RFC="HEOA-570723-BJ1" IMSS="16-74-56-0974-9" EDOCIVIL="C" SALADIA="1291.6667" STATUS_NOMINA="A" EMPRESA="1" TIPOEMPLEADO="1" PAIS="1" CATEGORIA="0" DESCR_CATEGORIA="GENERICO" REGION="1" ID_TIPO_EMPLEADO="1" ESTADO="MEXICO" CALLE="1° DE MAYO 104" COLONIA="GUADALUPE" CP="50010" DELGMUN="TOLUCA" UBICACION="H02" FECHACONT="4/8/1987" EMAIL="Alberto Hernandez_Olvera/HO/DuPont" FECHAING="1/1/2000" LUGARNAC="MEX" PAISNAC="MEX" PAISDOM="MEXICO" TIPOMONEDA="1" FRECSAL="MENSUAL" IPF="1.9" RTG="103.8" BAJA="0" DESCRBAJA="" FECHA_BAJA="12/1/1999" />
</APPSCONTROL>

CREATE PROC kr_insert_employee_H
@empdata ntext
AS
DECLARE @hDoc int
DELETE FROM kr_empleados_H
EXEC sp_xml_preparedocument @hDoc OUTPUT, @empdata
INSERT INTO kr_empleados_H
SELECT *
FROM OPENXML(@hDoc, '/APPSCONTROL/EMPLEADO')
WITH kr_empleados_H
EXEC sp_xml_removedocument @hDoc

GO
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Exportar XML

Publicado por Gabriel Vega (8 intervenciones) el 16/11/2006 19:09:47
Estimado Isaias, ya cinfigure el COLLATE como se debe inclusive por columna, pero aún sigue haciendo lo mismo, en seguida te envio el XML y el Store Procedure que Inserta los datos no estara mal estructurado mi proceso.

<?xml version="1.0" ?>
- <APPSCONTROL STATUS="0" MENSAJE="All right!!!" ORIGEN="Kontrol Reloaded Nomina Homero">
<EMPLEADO ORIGEN="2" NUMERO="003829" AP_MATERNO="SANTA CRUZ" AP_PATERNO="TREVIÑO" NOMBRE="CLAUDIA" GENERO="F" NACIONALIDAD="MEX" NIVEL="E04" FECHA_NIVEL="8/17/1992" PUESTO="562" SBU="0E" LOCALIDAD="H04" NOMLOCALIDAD="LERMA" FECHA_ANTIGUEDAD="8/17/1992" FECHA_NACIMIENTO="8/20/1963" GRADO_ESTUDIOS="" TITULO="" RFC="TESC-630820-AZ8" IMSS="92-92-63-0350-1" EDOCIVIL="" SALADIA="177.4133" STATUS_NOMINA="I" EMPRESA="1" TIPOEMPLEADO="1" PAIS="1" CATEGORIA="0" DESCR_CATEGORIA="GENERICO" REGION="1" ID_TIPO_EMPLEADO="1" ESTADO="0" CALLE="" COLONIA="" CP="" DELGMUN="" UBICACION="H04" FECHACONT="8/17/1992" EMAIL="" FECHAING="8/17/1992" LUGARNAC="" PAISNAC="MEXICO" PAISDOM="MEXICO" TIPOMONEDA="1" FRECSAL="MENSUAL" IPF="0" RTG="80" BAJA="0" DESCRBAJA="" FECHA_BAJA="3/31/1993" />
<EMPLEADO ORIGEN="2" NUMERO="042187" AP_MATERNO="OLVERA" AP_PATERNO="HERNANDEZ" NOMBRE="ALBERTO" GENERO="M" NACIONALIDAD="" NIVEL="E05" FECHA_NIVEL="1/1/2003" PUESTO="3318" SBU="0E" LOCALIDAD="H02" NOMLOCALIDAD="TLALNEPANTLA" FECHA_ANTIGUEDAD="4/8/1987" FECHA_NACIMIENTO="7/23/1957" GRADO_ESTUDIOS="" TITULO="" RFC="HEOA-570723-BJ1" IMSS="16-74-56-0974-9" EDOCIVIL="C" SALADIA="1291.6667" STATUS_NOMINA="A" EMPRESA="1" TIPOEMPLEADO="1" PAIS="1" CATEGORIA="0" DESCR_CATEGORIA="GENERICO" REGION="1" ID_TIPO_EMPLEADO="1" ESTADO="MEXICO" CALLE="1° DE MAYO 104" COLONIA="GUADALUPE" CP="50010" DELGMUN="TOLUCA" UBICACION="H02" FECHACONT="4/8/1987" EMAIL="Alberto Hernandez_Olvera/HO/DuPont" FECHAING="1/1/2000" LUGARNAC="MEX" PAISNAC="MEX" PAISDOM="MEXICO" TIPOMONEDA="1" FRECSAL="MENSUAL" IPF="1.9" RTG="103.8" BAJA="0" DESCRBAJA="" FECHA_BAJA="12/1/1999" />
</APPSCONTROL>

CREATE PROC kr_insert_employee_H
@empdata ntext
AS
DECLARE @hDoc int
DELETE FROM kr_empleados_H
EXEC sp_xml_preparedocument @hDoc OUTPUT, @empdata
INSERT INTO kr_empleados_H
SELECT *
FROM OPENXML(@hDoc, '/APPSCONTROL/EMPLEADO')
WITH kr_empleados_H
EXEC sp_xml_removedocument @hDoc

GO
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Exportar XML

Publicado por Isaías (3308 intervenciones) el 17/11/2006 18:13:13
Tal vez este articulo te ayude a resolver tu problema en el manejo de XML sobre SQL SERVER con SQLXML 3.0:

http://www.elguille.info/colabora/NET2005/Percynet_FuncionalidadXML_en_SQLServer.htm

y

http://www.elguille.info/colabora/NET2005/Percynet_ConfiguracionDirectoriosVirtualesIIS_SQLXML30.htm
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Exportar XML

Publicado por Gabriel Vega (8 intervenciones) el 21/11/2006 18:53:52
Estimado Isaias, ya pude corregir el error, todo estaba en estas instrucciones

Open FileNameXML_1 For Input As #1
FILELENGTH = FileLen(FileNameXML_1) ' Get length of file.

Cuando se ejecutaba la siguinte instrucción, se cambiaban los caracteres (ñ, á, é, í, ó y ú) por caracreres raros.

binbyte = Input(FILELENGTH, #1)

Lo corregi con la siguiente Instrucción:

binbyte = Replace(binbyte, "caracter raro‘", "caracter deseado")

Espero te sea de utilidad y que segamos en contacto.

PD: Voy a revisar las direcciones que me enviaste.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar