Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General » SQL Server »

[SOLUCIONADO] Cadena de conexion no reconoce el \

Estas en el tema de Cadena de conexion no reconoce el \ en el foro de SQL Server en Foros del Web. Hola a todos, en si no estoy muy seguro de que este tema sea de este foro pero lo expongo por si alguno puede ayudarme. ...
  #1 (permalink)  
Antiguo 03/05/2014, 09:36
 
Fecha de Ingreso: junio-2011
Ubicación: La Habana
Mensajes: 22
Antigüedad: 12 años, 10 meses
Puntos: 0
Pregunta Cadena de conexion no reconoce el \

Hola a todos, en si no estoy muy seguro de que este tema sea de este foro pero lo expongo por si alguno puede ayudarme. El problema que tengo es cuando cojo el nombre del servidor sql 2008 para incluirlo en mi cadena de conexion, este nombre del servidor (que es SERVIDOR\INSTANCIA)lo recibo encriptado en ASSCI cuando lo convierto a char cada caracter que viene y lo agrego en un string al llegar al simbolo \ (92 en ASSCI) me lo convierte a \\ (dos backslash) y me construye el string server = SERVIDOR\\INSTANCIA que no es el nombre en si. Resulta que c++ que es el lenguaje de desarrollo no reconoce el simple \. Alguienj tiene idea de como hacer esto.

Gracias de antemano
  #2 (permalink)  
Antiguo 03/05/2014, 11:32
 
Fecha de Ingreso: diciembre-2011
Mensajes: 77
Antigüedad: 12 años, 3 meses
Puntos: 2
Respuesta: Cadena de conexion no reconoce el \

Hermano, déjalo con \\ pues para c++ es la forma de reconocer \. Saludos.
  #3 (permalink)  
Antiguo 03/05/2014, 11:46
 
Fecha de Ingreso: junio-2011
Ubicación: La Habana
Mensajes: 22
Antigüedad: 12 años, 10 meses
Puntos: 0
Respuesta: Cadena de conexion no reconoce el \

El problema es cuando voy a construir mi cadena de conexion que le agrego el string server = SERVIDOR\\INSTANCIA me lo agrega asi mismo y al probar la conexion me dice que no encuantra el servidor o no tengo acceso a el. Yo sé que así reconoce C++ ese simbolo u cuando muestro ese string server y si lo muestro en pantalla, por ejemplo:
ShowMessage("Servidor: " + server );

Me lo muestra perfectamente sin dos \\, pero al hacer la conexion a la base de datos no.

Saludos
  #4 (permalink)  
Antiguo 03/05/2014, 11:57
 
Fecha de Ingreso: diciembre-2011
Mensajes: 77
Antigüedad: 12 años, 3 meses
Puntos: 2
Respuesta: Cadena de conexion no reconoce el \

Pudieras poner el código?
  #5 (permalink)  
Antiguo 03/05/2014, 12:09
 
Fecha de Ingreso: junio-2011
Ubicación: La Habana
Mensajes: 22
Antigüedad: 12 años, 10 meses
Puntos: 0
Respuesta: Cadena de conexion no reconoce el \

////***aqui va la conexion a la base de datos zunacc***////
cadena= "Description=zunacc;DRIVER=SQL Server;SERVER=" + server;
cadena+= ";UID=" + login;
cadena+= ";PWD=" + passw;
cadena+= ";APP=Microsoft Data Access Components;WSID=" + server;
cadena+= ";DATABASE=" + bzunacc ;
cadena+= ";Network=DBNMPNTW";
DataModule1->ADOCZunAcc->ConnectionString="";
DataModule1->ADOCZunAcc->ConnectionString= cadena;
---------------------------------------------------------------------------------------------------
el problema es que la variable server es un string que guarda la conversion de assci del nombre del servidor pongo el codigo abajo:
--------------------------------------------------------------------------
{
String server= "";
int i = 1;
int cont = value.Length();
char part2;
int p ;
while (i <= cont) //para coger de caracter en caracter
{
p = value[i] ^ 127; // con esto se le hace un XOR al caracater
part2= p; // luego ese numero al tratarlo como char, me hace automaticamente la descodif. del ASCII
server+= part2;

i++;
}

return server; //AQUI DEVUELVE LA CADENA ENTERA DECODIFICADA
}
---------------------------------------------------------------------------------
ya al devolverse de esta funcion viene Servidor\\Instancia
  #6 (permalink)  
Antiguo 03/05/2014, 12:49
 
Fecha de Ingreso: diciembre-2011
Mensajes: 77
Antigüedad: 12 años, 3 meses
Puntos: 2
Respuesta: Cadena de conexion no reconoce el \

Por qué estás tan seguro del problema? No pudiera ser que tienes mal la sintaxis de la cadena de conexión? Probaste ponerla directamente sin utilizar variables?
  #7 (permalink)  
Antiguo 03/05/2014, 13:20
 
Fecha de Ingreso: junio-2011
Ubicación: La Habana
Mensajes: 22
Antigüedad: 12 años, 10 meses
Puntos: 0
Respuesta: Cadena de conexion no reconoce el \

yo probe la conexion directa en el ADO de coneccion que tengo en mi clase conexion a datos y me dio exitosa solo cuanod la construyo asi dinamica es que me pasa por eso sé que es eso.
  #8 (permalink)  
Antiguo 03/05/2014, 13:41
 
Fecha de Ingreso: diciembre-2011
Mensajes: 77
Antigüedad: 12 años, 3 meses
Puntos: 2
Respuesta: Cadena de conexion no reconoce el \

Entonces definitivamente el problema es al construirla.
Escribe la cadena cómo sería y el código completo para verlo bien. Pienso que el problema tal vez esté en el código que utilizas el XOR.
Otra cosa que puedes hacer es separar la variable server en servidor e instancia y así al construirla te puede ser más fácil.
  #9 (permalink)  
Antiguo 03/05/2014, 15:59
 
Fecha de Ingreso: junio-2011
Ubicación: La Habana
Mensajes: 22
Antigüedad: 12 años, 10 meses
Puntos: 0
Respuesta: Cadena de conexion no reconoce el \

Ya gracias hermano, ya descubrí lo que era. Resulta que es una parte de la cadena de conexion que le poniamos fijo NetWORK: PWT... que lo exigia el sql 2000 (version antigua que teniamos)n pero en SQL2008 ya no lo necesitaba y por eso daba el error, no era por los backslash.

Gracias por todo.

Etiquetas: cadena, conexion, reconoce, server, sql
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 12:05.