miércoles, 9 de julio de 2008

Problemas con acentuación utilizando OSQL

Utilizando la herramienta OSQL de Sql server se puede ejecutar instrucciones sql almacendas en un archivo de texto. Esto es muy útil para ejecutar script en actualizaciones de versiones u otras tareas de manteniento, pero bueno esto no es lo problemático ya que utilizar la herramienta es cuestión de ver un poquito el manual de sql.

Ejecutar osql es muy facil, ejemplo: osql -U tu_usuario -P clave
y luego podes comenzar a tirar comandos sql como select, insert, use, etc....... y siempre poner GO para culminar una sentencia.

Si a este comando le agregas el parámetro -i archivo_de_texto.sql
osql -U sa -P clave -i osql.sql

La aplicación toma como entrada todo lo que este en osql.sql
por ejemplo:

use prueba -- selecciona la base prueba
go -- ejecuta use
insert into rubros(descripcion)values('canción')
go --ejecuta el insert
......
Aqui es donde hay un gran problema

La palabra canción será mal almacenada ya que el acento lo tomará como ¾ o sea
un caracter raro.

Como solucionarlo:
Es muy facil abrir en una consola el viejo y querido edit a modo texto y reemplazar
los caracteres que figuran mal con los correctos.

Esto se debe a que cuendo utilizamos un editor de texto en Windows éste graba con una
tabla de código y el programa OSQL utiliza otra.

No hay comentarios: