Problema con encoding en script de SqlServer

04/04/2007 - 17:42 por Mario Vázquez | Informe spam
Hola,

Tengo un problema curioso, que no sé como resolver.
Tengo una base de datos en Sql-Server2000. Desde el administrador
corporativo genero un script de la base de datos. Guardo el script con la
codificaión por defecto (unicode).
Desde un programa C# intento ejecutar el script generado de la siguiente
forma:

SqlConnection cnn = new SqlConnection("<...connectionString...>");
SqlCommand cmd;
string sql;

cnn.Open();
sql = System.IO.File.ReadAllText("<...ruta_del_fichero...>");
cmd = new SqlCommand(sql, cnn);
cmd.ExecuteNonQuery();

Esto me arroja un error de sintaxis. Obviamentte el script generado por el
administrador corporativo no tiene errores, es un problema de codificaión.
Sustituyo la linea que lee el fichero por:

sql = System.IO.File.ReadAllText("<path_to_the_script_file>",
System.Text.Encoding.Unicode);

pero el resultado es el mismo, un error de sintaxis. He probado generando el
script con las diferentes opciones de codificación que ofrece el
administrador corporativo, pero sin éxito.

¿Qué demonios pasa? ¿Cómo puedo ejecutar este script?


Gracias por cualquier ayuda.

Saludos,
Mario Vázquez
 

Leer las respuestas

#1 Gustavo Larriera (MVP)
04/04/2007 - 20:20 | Informe spam
Ayudaria mucho si nos muestras el texto del script.


Gustavo Larriera, MVP
http://aspnet2.com/mvp.ashx?GustavoLarriera
http://blogs.solidq.com/ES/glarriera
Este mensaje se proporciona tal como es, sin garantías de ninguna clase.



"Mario Vázquez" wrote:

Hola,

Tengo un problema curioso, que no sé como resolver.
Tengo una base de datos en Sql-Server2000. Desde el administrador
corporativo genero un script de la base de datos. Guardo el script con la
codificaión por defecto (unicode).
Desde un programa C# intento ejecutar el script generado de la siguiente
forma:

SqlConnection cnn = new SqlConnection("<...connectionString...>");
SqlCommand cmd;
string sql;

cnn.Open();
sql = System.IO.File.ReadAllText("<...ruta_del_fichero...>");
cmd = new SqlCommand(sql, cnn);
cmd.ExecuteNonQuery();

Esto me arroja un error de sintaxis. Obviamentte el script generado por el
administrador corporativo no tiene errores, es un problema de codificaión.
Sustituyo la linea que lee el fichero por:

sql = System.IO.File.ReadAllText("<path_to_the_script_file>",
System.Text.Encoding.Unicode);

pero el resultado es el mismo, un error de sintaxis. He probado generando el
script con las diferentes opciones de codificación que ofrece el
administrador corporativo, pero sin éxito.

¿Qué demonios pasa? ¿Cómo puedo ejecutar este script?


Gracias por cualquier ayuda.

Saludos,
Mario Vázquez



Preguntas similares