Visual Basic.NET - Problema de conversion de caracteres especiales

 
Vista:

Problema de conversion de caracteres especiales

Publicado por paco (1 intervención) el 30/11/2006 10:32:09
Buenas
Tengo un programa Vb.net q me baja campos de texto de un SQL-Server a un Access. El problema es q el SQL-Server es ingles y el ordenador local español, con lo q al bajarme caracteres tipo ñ,º,ª los convierte y los machaca con caracteres raros.
En ODBC tienes una opción para no efectuar conversion de caracteres. ¿Cómo puedo activar esta opción en el SQLConnection dle vb.net (no estoy usando ODBC para la conexión)?

Gracias por la ayuda.
Saludos.
Paco.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Problema de conversion de caracteres especiales

Publicado por Mordeus (17 intervenciones) el 30/11/2006 11:24:21
Mmm Mas que un problema de idioma parece de codificación del texto (q los caracteres tipo ñ no se muestren puede ser por codificarlo en ascii en lugar de unicode o algo parecido) ¿Pq no cuelgas el codigo con el que sacas la query y los inserts a ver si se ve algo? ¿Utilizas un driver ODBC o directamente una cadena de ADO.NET? De todas formas si la cadena esta mal codificada la puedes pasar a un array de bytes y volver a codificarla, si el problema esta ahi en el siguiente post te pongo el código :D

Saludos.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Problema de conversion de caracteres especiales

Publicado por paco (4 intervenciones) el 01/12/2006 07:40:56
Gracias por responder:
Esta es la cadena de conexión:
myconnection = New SqlConnection("server=server;trusted_connection=false;database=db_name;user ID=user;pwd=xxxxx;Connect Timeout=3600")
myconnection.Open()
Y este es el query para el download:

Dim comando As New SqlCommand
Dim comandosql1 As New SqlCommand
Dim adaptador_access As New OleDbDataAdapter
Dim datos_access As DataSet = New DataSet
Dim datos_sql As SqlDataReader
Dim comando_access As New OleDbCommand
Dim ruta, sql As String
'abrimos sqls
comando.Connection = myconnection
comando.CommandTimeout = 3600
comandosql1.Connection = myconnectionsql1
comandosql1.CommandTimeout = 3600
'bajamos los resultados a access
'abrimos access con tablas
ruta = App_Path() & "xxx.mdb"
Dim con_access As New OleDb.OleDbConnection("provider=microsoft.jet.oledb.4.0;data source=" & ruta)
con_access.Open()

'int01
comandosql1.CommandText = " select * from INT01 "
datos_sql = comandosql1.ExecuteReader

adaptador_access = New OleDbDataAdapter(" select * from INT01", con_access)
adaptador_access.Fill(datos_access, "INT01")
Dim tabla_access As DataTable = datos_access.Tables("INT01")
'llenamos la tabla
Dim nuevafila As DataRow
Do While (datos_sql.Read())
nuevafila = tabla_access.NewRow
nuevafila("product_id") = datos_sql("product_id")
'mas campos....
tabla_access.Rows.Add(nuevafila)
Loop
Dim comandos As OleDbCommandBuilder = New OleDbCommandBuilder(adaptador_access)
adaptador_access.Update(datos_access, "INT01")
adaptador_access.Dispose()
datos_sql.Close()

Yo creo q tiene q haber una opción de no hacer la conversion de caracteres como la hay en el ODBC pero no la encuentro.
Gracias.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar