compatibilitad tipo de datos vb.net y sqlserver

17/07/2006 - 13:38 por Hugo Gsell | Informe spam
Hola.
Tengo una duda aunque aún no me generó problemas pero creo que puede
hacerlo.
Tengo una base de datos en slq 2000 server.
Tengo un programa en vb.net 2005 que accede a esta base.
Utilicé un generador (de la pagina del guille) para generar las clases... el
tema es que los datos tipo nvarchar en el sqlserver y el generador me genera
la clase como sqldbtype.varchar.
Leyendo los libros en pantalla de sql... dice que unos son tipo unicode y
los otros NO unicode.
¿Esto me puede traer algun tipo de inconveniente en el uso?

Desde ya muchas gracias.

Hugo A. Gsell
Sgo del Estero
Argentina
 

Leer las respuestas

#1 SoftJaén
18/07/2006 - 15:34 | Informe spam
"Hugo Gsell" escribió:

... el tema es que los datos tipo nvarchar en el sqlserver y el
generador me genera la clase como sqldbtype.varchar.
Leyendo los libros en pantalla de sql... dice que unos son tipo
unicode y los otros NO unicode.
¿Esto me puede traer algun tipo de inconveniente en el uso?



Hola, Hugo:

Salvo que vayas a distribuir tu aplicación, junto con la base de datos de
SQL Server, a un país que utilice una página de código distinta que la que
tú utilizas en tu sistema para representar los conjuntos de caracteres,
entiendo que no debes de tener ningún tipo de problema por utilizar tipos de
datos VarChar, aunque en la tabla estén definidos como NVarChar.

Ahora bien, si distribuyes tu aplicación en Japón, por ejemplo, puede ser
que las palabras acentuadas del español, las vea el usuario de distinta
manera, siempre y cuando tu aplicación utilice el tipo de dato VarChar (un
carácter equivale a un byte), en lugar del tipo NVarChar (un carácter
equivale a dos bytes, es decir, Unicode), salvo que el usuario japonés,
utilice también una página de código de caracteres correspondiente al idioma
español.

El formato Unicode se creó para que se pudieran representar los caracteres
de la mayoría de los lenguajes existentes en el mundo. Pero esto tiene un
precio, el cual consiste en que cada carácter se guarda como dos bytes, de
ahí que el tipo de dato NVarChar solamente puede albergar una longitud
máxima de 4.000 carácteres, concretamente la mitad de los caracteres que
pueden almacenarse en un campo definido con VarChar (8.000 caracteres).

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.

Preguntas similares