Copiar datos entre bases II

21/11/2003 - 11:49 por judiodarkness | Informe spam
Hola:

Ya se cual es el problema. Siempre que encuentro caracteres "raros" p.
ej. ê ñ o cualquier otro, me da problemas, pero insisto en que me da
problemas si hago algo así:

objRstOrigen.Fields.Item(j).Value = objRstDestino.Fields.Item(j).Value

si leo el valor de objRstDestino a una variable intermedia no da
problemas

Un saludo y gracias

Preguntas similare

Leer las respuestas

#1 Accotto Maximiliano D.
21/11/2003 - 22:01 | Informe spam
y tienes el motor configurado para soportar esos caracteres?



Maximiliano Damian Accotto
"sergio" escribió en el mensaje
news:
Hola:

Ya se cual es el problema. Siempre que encuentro caracteres "raros" p.
ej. ê ñ o cualquier otro, me da problemas, pero insisto en que me da
problemas si hago algo así:

objRstOrigen.Fields.Item(j).Value = objRstDestino.Fields.Item(j).Value

si leo el valor de objRstDestino a una variable intermedia no da
problemas

Un saludo y gracias
Respuesta Responder a este mensaje
#2 judiodarkness
24/11/2003 - 01:25 | Informe spam
La verdad es que no se de que "motor" me hablas ;-)
Sólo tengo acceso a la base de datos por ODBC, así que de
administración nada de nada... me sería imposible.
Por otro lado, el DBA me asegura que son iguales las dos bases de
datos (me lo creo, en serio) pero luego mira lo que me encuentro
¿No habrá alguno opción de entorno del tipo SET... o algo así que
pueda configurar en el DSN o al abrir la conexión con ADO y que me
ayude a truncar automáticamente una cadena que excede el tamaño del
campo?

Gracias.

"Accotto Maximiliano D." wrote in message news:...
y tienes el motor configurado para soportar esos caracteres?



Maximiliano Damian Accotto
"sergio" escribió en el mensaje
news:
> Hola:
>
> Ya se cual es el problema. Siempre que encuentro caracteres "raros" p.
> ej. ê ñ o cualquier otro, me da problemas, pero insisto en que me da
> problemas si hago algo así:
>
> objRstOrigen.Fields.Item(j).Value = objRstDestino.Fields.Item(j).Value
>
> si leo el valor de objRstDestino a una variable intermedia no da
> problemas
>
> Un saludo y gracias
Respuesta Responder a este mensaje
#3 judiodarkness
24/11/2003 - 11:10 | Informe spam
Hola:

Ya tengo el problema muuuuy localizado:

Por ejemplo, este código funciona bien:

With objRst
.Open "<nombre_tabla>", objCnn, , adLockOptimistic, adCmdTable
.AddNew
.Fields("<nombre_campo>") = "01"
.Fields("<nombre_campo>") = "01"
.Fields("<nombre_campo>") = "TEXTIL"
On Error Resume Next
.Update
End With

Pero esto otro NO funciona:

With objRst
.Open "<nombre_tabla>", objCnn, , adLockOptimistic, adCmdTable
.AddNew
.Fields("<nombre_campo>") = "02"
.Fields("<nombre_campo>") = "01"
.Fields("<nombre_campo>") = "TÊXTIL"
On Error Resume Next
.Update 'aquí da el error debido a "TÊXTIL"
End With

Me da el siguiente error:

Err.Number: -2147467259
Err.Description: [IBM][CLI Driver] CLI0109E Truncamiento por la
derecha de los datos de la serie de caracteres. SQLSTATE"001
Err.Source: Microsoft OLE DB Provider for ODBC Drivers

Esta claro que no le gusta el caracter Ê

Si depuro campos del recordset (abriéndolo como sólo lectura desde la
base de datos desde la quiero copiar):

(ok)
Value: TEXTIL
DefinedSize: 25
ActualSize: 25
Len(strValue): 6

(ko)
Value: TÊXTIL
DefinedSize: 25
ActualSize: 24 "Esto no puede ser porque el tipo de columna es adChar"
Len(strValue): 6

Yo me rindo pero esta claro que es problema del conjunto de
caracteres, ADO no se entera... y ¿qué puedo hacer?

Gracias y perdonar mi insistencia.

"Accotto Maximiliano D." wrote in message news:...
y tienes el motor configurado para soportar esos caracteres?



Maximiliano Damian Accotto
"sergio" escribió en el mensaje
news:
> Hola:
>
> Ya se cual es el problema. Siempre que encuentro caracteres "raros" p.
> ej. ê ñ o cualquier otro, me da problemas, pero insisto en que me da
> problemas si hago algo así:
>
> objRstOrigen.Fields.Item(j).Value = objRstDestino.Fields.Item(j).Value
>
> si leo el valor de objRstDestino a una variable intermedia no da
> problemas
>
> Un saludo y gracias
Respuesta Responder a este mensaje
#4 Miguel Egea
24/11/2003 - 19:20 | Informe spam
intenta convertir el campo de char a nchar en la base de datos y nos
cuentas.
saludos
Miguel Egea
"sergio" escribió en el mensaje
news:
Hola:

Ya tengo el problema muuuuy localizado:

Por ejemplo, este código funciona bien:

With objRst
.Open "<nombre_tabla>", objCnn, , adLockOptimistic, adCmdTable
.AddNew
.Fields("<nombre_campo>") = "01"
.Fields("<nombre_campo>") = "01"
.Fields("<nombre_campo>") = "TEXTIL"
On Error Resume Next
.Update
End With

Pero esto otro NO funciona:

With objRst
.Open "<nombre_tabla>", objCnn, , adLockOptimistic, adCmdTable
.AddNew
.Fields("<nombre_campo>") = "02"
.Fields("<nombre_campo>") = "01"
.Fields("<nombre_campo>") = "TÊXTIL"
On Error Resume Next
.Update 'aquí da el error debido a "TÊXTIL"
End With

Me da el siguiente error:

Err.Number: -2147467259
Err.Description: [IBM][CLI Driver] CLI0109E Truncamiento por la
derecha de los datos de la serie de caracteres. SQLSTATE"001
Err.Source: Microsoft OLE DB Provider for ODBC Drivers

Esta claro que no le gusta el caracter Ê

Si depuro campos del recordset (abriéndolo como sólo lectura desde la
base de datos desde la quiero copiar):

(ok)
Value: TEXTIL
DefinedSize: 25
ActualSize: 25
Len(strValue): 6

(ko)
Value: TÊXTIL
DefinedSize: 25
ActualSize: 24 "Esto no puede ser porque el tipo de columna es adChar"
Len(strValue): 6

Yo me rindo pero esta claro que es problema del conjunto de
caracteres, ADO no se entera... y ¿qué puedo hacer?

Gracias y perdonar mi insistencia.

"Accotto Maximiliano D." wrote in


message news:...
> y tienes el motor configurado para soportar esos caracteres?
>
>
>
> Maximiliano Damian Accotto
> "sergio" escribió en el mensaje
> news:
> > Hola:
> >
> > Ya se cual es el problema. Siempre que encuentro caracteres "raros" p.
> > ej. ê ñ o cualquier otro, me da problemas, pero insisto en que me da
> > problemas si hago algo así:
> >
> > objRstOrigen.Fields.Item(j).Value = objRstDestino.Fields.Item(j).Value
> >
> > si leo el valor de objRstDestino a una variable intermedia no da
> > problemas
> >
> > Un saludo y gracias
Respuesta Responder a este mensaje
#5 judiodarkness
25/11/2003 - 14:23 | Informe spam
Estoy seguro de que funcionaría cambiando el tipo de dato de la
columna a nchar pero lo que pasa es que no puedo hacerlo porque no
tengo derechos administrativos sobre el servidor y al DBA ni se lo
planteo
De todas formas, en cuanto tenga una mejor oportunidad realizaré algo
de "ingenieria social" para ver si puedo conseguirlo ;-)
Gracias de igual modo

"Miguel Egea" wrote in message news:...
intenta convertir el campo de char a nchar en la base de datos y nos
cuentas.
saludos
Miguel Egea
"sergio" escribió en el mensaje
news:
> Hola:
>
> Ya tengo el problema muuuuy localizado:
>
> Por ejemplo, este código funciona bien:
>
> With objRst
> .Open "<nombre_tabla>", objCnn, , adLockOptimistic, adCmdTable
> .AddNew
> .Fields("<nombre_campo>") = "01"
> .Fields("<nombre_campo>") = "01"
> .Fields("<nombre_campo>") = "TEXTIL"
> On Error Resume Next
> .Update
> End With
>
> Pero esto otro NO funciona:
>
> With objRst
> .Open "<nombre_tabla>", objCnn, , adLockOptimistic, adCmdTable
> .AddNew
> .Fields("<nombre_campo>") = "02"
> .Fields("<nombre_campo>") = "01"
> .Fields("<nombre_campo>") = "TÊXTIL"
> On Error Resume Next
> .Update 'aquí da el error debido a "TÊXTIL"
> End With
>
> Me da el siguiente error:
>
> Err.Number: -2147467259
> Err.Description: [IBM][CLI Driver] CLI0109E Truncamiento por la
> derecha de los datos de la serie de caracteres. SQLSTATE"001
> Err.Source: Microsoft OLE DB Provider for ODBC Drivers
>
> Esta claro que no le gusta el caracter Ê
>
> Si depuro campos del recordset (abriéndolo como sólo lectura desde la
> base de datos desde la quiero copiar):
>
> (ok)
> Value: TEXTIL
> DefinedSize: 25
> ActualSize: 25
> Len(strValue): 6
>
> (ko)
> Value: TÊXTIL
> DefinedSize: 25
> ActualSize: 24 "Esto no puede ser porque el tipo de columna es adChar"
> Len(strValue): 6
>
> Yo me rindo pero esta claro que es problema del conjunto de
> caracteres, ADO no se entera... y ¿qué puedo hacer?
>
> Gracias y perdonar mi insistencia.
>
> "Accotto Maximiliano D." wrote in
message news:...
> > y tienes el motor configurado para soportar esos caracteres?
> >
> >
> >
> > Maximiliano Damian Accotto
> > "sergio" escribió en el mensaje
> > news:
> > > Hola:
> > >
> > > Ya se cual es el problema. Siempre que encuentro caracteres "raros" p.
> > > ej. ê ñ o cualquier otro, me da problemas, pero insisto en que me da
> > > problemas si hago algo así:
> > >
> > > objRstOrigen.Fields.Item(j).Value = objRstDestino.Fields.Item(j).Value
> > >
> > > si leo el valor de objRstDestino a una variable intermedia no da
> > > problemas
> > >
> > > Un saludo y gracias
Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaSiguiente Respuesta Tengo una respuesta
Search Busqueda sugerida