Características internacionales del controlador JDBC

Las características de internacionalización del controlador JDBC de SQL Server 2005 Microsoft incluyen:

  • Compatibilidad con el trabajo en los mismos idiomas que SQL Server.

  • Compatibilidad con las conversiones de idioma de los niveles de Java 1.4 para datos de SQL Server en los que el idioma sea importante.

  • Compatibilidad con idiomas internacionales, independientemente del sistema operativo.

Tratamiento de los datos de caracteres

Los datos de caracteres en Java se tratan de forma predeterminada como Unicode, el objeto String de Java representa datos de caracteres Unicode. En el controlador JDBC, la única excepción a esta regla son los métodos de obtención y establecimiento de secuencias ASCII, que son casos especiales porque usan secuencias de bytes con la presunción implícita de páginas de código únicas conocidas (ASCII).

Además, el controlador JDBC proporciona la propiedad de cadena de conexión sendStringParametersAsUnicode. Esta propiedad se puede usar para especificar que los parámetros preparados para los datos de caracteres se envíen como ASCII en lugar de Unicode.

Para obtener más información sobre la propiedad de cadena de conexión sendStringParametersAsUnicode, consulte Establecer las propiedades de conexión.

Conversiones entrantes en el controlador

Los datos de texto Unicode que provengan del servidor no necesitan conversión. Se pasan directamente como Unicode. Los datos que no sean Unicode y provengan del servidor se convierten de una página de códigos de datos, en el nivel de la base de datos o de columna, a Unicode. El controlador JDBC emplea las rutinas de conversión de la Máquina Virtual Java (JVM) para realizar estas conversiones. Estas conversiones se realizan en todos los métodos de obtención de secuencias String y Character.

Si la JVM no posee la compatibilidad adecuada de la página de códigos para los datos de la base de datos, el controlador JDBC lanza la excepción "la página de códigos XXX no es compatible con el entorno Java".

Conversiones salientes del controlador

Los datos de caracteres que vayan desde el controlador hasta el servidor, comienzan como Unicode. Unicode se pasa al servidor, donde se realizan las conversiones apropiadas si la columna de destino no es una columna de un tipo Unicode (nchar, nvarchar, ntext). En ese caso, el texto Unicode se pasa desde los métodos de establecimiento y actualización del controlador JDBC para las secuencias Strings y Character.

Problemas de formato

Para fecha, hora y divisas, el formato con datos localizados se aplica en el lenguaje Java empleando el objeto Locale y los diversos métodos de formato para los tipos de datos Date, Calendar y Number. En el caso excepcional en el que el controlador JDBC debe pasar datos para los que el idioma sea importante en un formato localizado, se utiliza el formateador correspondiente con la configuración regional predeterminada de la JVM.

Parámetros que no son Unicode

Como mejora del rendimiento, se pueden pasar parámetros String a SQL Server en un formato diferente de Unicode configurando la propiedad de cadena de conexión sendStringParametersAsUnicode. La configuración predeterminada de sendStringParametersAsUnicode es "true", lo que significa que los parámetros String se envían como Unicode. Si sendStringParametersAsUnicode se establece como "false", todos los parámetros String de esa conexión se envían al servidor con la intercalación predeterminada de la base de datos.

Vea también

Mostrar: