crear cadena de coneccion Access en windows form

20/02/2004 - 17:58 por alf | Informe spam
Hola:
quiero crear dinamicamente la cadena de coneccion a una BD Access, ,la
cadena debe quedar de esta forma:
m_dbConn.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0; Jet
OLEDB:Database Password=; Data Source=\\SERVIDOR\BDDIR\BDFILE.MDB";

si pongo esa cadena directamente no hay problemas, el problema viene porque
el camino de la BD la saco del Regustry de Windows entonces concateno de la
sgte forma:

m_dbConn.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0; Jet
OLEDB:Database Password=; Data Source=" + keyValue;

y de esa forma no me funciona, a pesar de que la cadena es la misma.

que sucede aqui ???

PD: es un windows form, y programo en C#.

saludos, alf.

Preguntas similare

Leer las respuestas

#1 Camilo Villa
20/02/2004 - 18:46 | Informe spam
keyValue es de tipo RegistryKey?
o
Es el resultado de consultar Registry.GetValue("clave") y hacerle casting a
String,

Si es el primer caso creo que tienes que hacerle casting para que te sirva
como string y quede así :
conectionString = "Provider=Microsoft.Jet.OLEDB.4.0; Jet OLEDB:Database
Password=; Data Source=" +(String) keyValue;

Si es el segundo caso, tienes que ver como está definida la variable
"keyValue"

Camilo Villa
APTECH Certified Visual Studio .NET - Microsoft 3 DCE
"alf" escribió en el mensaje
news:
Hola:
quiero crear dinamicamente la cadena de coneccion a una BD Access, ,la
cadena debe quedar de esta forma:
m_dbConn.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0; Jet
OLEDB:Database Password=; Data Source=\\SERVIDOR\BDDIR\BDFILE.MDB";

si pongo esa cadena directamente no hay problemas, el problema viene


porque
el camino de la BD la saco del Regustry de Windows entonces concateno de


la
sgte forma:

m_dbConn.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0; Jet
OLEDB:Database Password=; Data Source=" + keyValue;

y de esa forma no me funciona, a pesar de que la cadena es la misma.

que sucede aqui ???

PD: es un windows form, y programo en C#.

saludos, alf.


Respuesta Responder a este mensaje
#2 alf
20/02/2004 - 19:23 | Informe spam
keyValue ya esta en string, me parece que el problema viene con los \\,
en la cadena \\SERVIDOR\BDDIR\BDFILE.MDB seguro esta tomando el \ como
secuencia de escape pero ya probe de esta forma
\\\\SERVIDOR\\BDDIR\\BDFILE.MDB y tampoco

???

saludos, alf

"Camilo Villa" wrote in message
news:%
keyValue es de tipo RegistryKey?
o
Es el resultado de consultar Registry.GetValue("clave") y hacerle casting


a
String,

Si es el primer caso creo que tienes que hacerle casting para que te sirva
como string y quede así :
conectionString = "Provider=Microsoft.Jet.OLEDB.4.0; Jet OLEDB:Database
Password=; Data Source=" +(String) keyValue;

Si es el segundo caso, tienes que ver como está definida la variable
"keyValue"

Camilo Villa
APTECH Certified Visual Studio .NET - Microsoft 3 DCE
"alf" escribió en el mensaje
news:
> Hola:
> quiero crear dinamicamente la cadena de coneccion a una BD Access, ,la
> cadena debe quedar de esta forma:
> m_dbConn.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0; Jet
> OLEDB:Database Password=; Data Source=\\SERVIDOR\BDDIR\BDFILE.MDB";
>
> si pongo esa cadena directamente no hay problemas, el problema viene
porque
> el camino de la BD la saco del Regustry de Windows entonces concateno de
la
> sgte forma:
>
> m_dbConn.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0; Jet
> OLEDB:Database Password=; Data Source=" + keyValue;
>
> y de esa forma no me funciona, a pesar de que la cadena es la misma.
>
> que sucede aqui ???
>
> PD: es un windows form, y programo en C#.
>
> saludos, alf.
>
>


Respuesta Responder a este mensaje
#3 Camilo Villa
20/02/2004 - 19:35 | Informe spam
Prueba con:

conectionString = "Provider=Microsoft.Jet.OLEDB.4.0; Jet OLEDB:Database
Password=; Data Source=" +@+ keyValue+" " ";

o sino con esta otra

conectionString = "Provider=Microsoft.Jet.OLEDB.4.0; Jet OLEDB:Database
Password=; Data Source=" + keyValue+" " ";


Camilo Villa
APTECH Certified Visual Studio .NET - Microsoft 3 DCE
"alf" escribió en el mensaje
news:%
keyValue ya esta en string, me parece que el problema viene con los \\,
en la cadena \\SERVIDOR\BDDIR\BDFILE.MDB seguro esta tomando el \ como
secuencia de escape pero ya probe de esta forma
\\\\SERVIDOR\\BDDIR\\BDFILE.MDB y tampoco

???

saludos, alf

"Camilo Villa" wrote in message
news:%
> keyValue es de tipo RegistryKey?
> o
> Es el resultado de consultar Registry.GetValue("clave") y hacerle


casting
a
> String,
>
> Si es el primer caso creo que tienes que hacerle casting para que te


sirva
> como string y quede así :
> conectionString = "Provider=Microsoft.Jet.OLEDB.4.0; Jet OLEDB:Database
> Password=; Data Source=" +(String) keyValue;
>
> Si es el segundo caso, tienes que ver como está definida la variable
> "keyValue"
>
> Camilo Villa
> APTECH Certified Visual Studio .NET - Microsoft 3 DCE
> "alf" escribió en el mensaje
> news:
> > Hola:
> > quiero crear dinamicamente la cadena de coneccion a una BD Access, ,la
> > cadena debe quedar de esta forma:
> > m_dbConn.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0; Jet
> > OLEDB:Database Password=; Data Source=\\SERVIDOR\BDDIR\BDFILE.MDB";
> >
> > si pongo esa cadena directamente no hay problemas, el problema viene
> porque
> > el camino de la BD la saco del Regustry de Windows entonces concateno


de
> la
> > sgte forma:
> >
> > m_dbConn.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0; Jet
> > OLEDB:Database Password=; Data Source=" + keyValue;
> >
> > y de esa forma no me funciona, a pesar de que la cadena es la misma.
> >
> > que sucede aqui ???
> >
> > PD: es un windows form, y programo en C#.
> >
> > saludos, alf.
> >
> >
>
>


Respuesta Responder a este mensaje
#4 Octavio Hernandez
23/02/2004 - 14:19 | Informe spam
Alf,

Si la concatenación la haces por código, y las barras \\ ya están incluidas
en el valor de keyValue, no debería haber problema ninguno ni necesidad de
@, \\\\, etc.

Imprime el valor de connectionString para ver qué es lo que se está
obteniendo. Me parece más probable que el fallo esté en la conversión a
String de lo que sacas del registro.

Salu2,

Octavio Hernández

"alf" escribió en el mensaje
news:%
keyValue ya esta en string, me parece que el problema viene con los \\,
en la cadena \\SERVIDOR\BDDIR\BDFILE.MDB seguro esta tomando el \ como
secuencia de escape pero ya probe de esta forma
\\\\SERVIDOR\\BDDIR\\BDFILE.MDB y tampoco

???

saludos, alf

"Camilo Villa" wrote in message
news:%
> keyValue es de tipo RegistryKey?
> o
> Es el resultado de consultar Registry.GetValue("clave") y hacerle


casting
a
> String,
>
> Si es el primer caso creo que tienes que hacerle casting para que te


sirva
> como string y quede así :
> conectionString = "Provider=Microsoft.Jet.OLEDB.4.0; Jet OLEDB:Database
> Password=; Data Source=" +(String) keyValue;
>
> Si es el segundo caso, tienes que ver como está definida la variable
> "keyValue"
>
> Camilo Villa
> APTECH Certified Visual Studio .NET - Microsoft 3 DCE
> "alf" escribió en el mensaje
> news:
> > Hola:
> > quiero crear dinamicamente la cadena de coneccion a una BD Access, ,la
> > cadena debe quedar de esta forma:
> > m_dbConn.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0; Jet
> > OLEDB:Database Password=; Data Source=\\SERVIDOR\BDDIR\BDFILE.MDB";
> >
> > si pongo esa cadena directamente no hay problemas, el problema viene
> porque
> > el camino de la BD la saco del Regustry de Windows entonces concateno


de
> la
> > sgte forma:
> >
> > m_dbConn.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0; Jet
> > OLEDB:Database Password=; Data Source=" + keyValue;
> >
> > y de esa forma no me funciona, a pesar de que la cadena es la misma.
> >
> > que sucede aqui ???
> >
> > PD: es un windows form, y programo en C#.
> >
> > saludos, alf.
> >
> >
>
>


Respuesta Responder a este mensaje
#5 alf
24/02/2004 - 03:29 | Informe spam
Muchas gracias, efectivamente la cosa esta en las dos barras, la cosa se
soluciona usando solo 1 en el registry y poniendo @ delante de la variable,
asi no toma las barras como secuencia de escape.
saludos, alf.

"Octavio Hernandez" wrote in message
news:eHGWc%23g%
Alf,

Si la concatenación la haces por código, y las barras \\ ya están


incluidas
en el valor de keyValue, no debería haber problema ninguno ni necesidad de
@, \\\\, etc.

Imprime el valor de connectionString para ver qué es lo que se está
obteniendo. Me parece más probable que el fallo esté en la conversión a
String de lo que sacas del registro.

Salu2,

Octavio Hernández

"alf" escribió en el mensaje
news:%
> keyValue ya esta en string, me parece que el problema viene con los \\,
> en la cadena \\SERVIDOR\BDDIR\BDFILE.MDB seguro esta tomando el \ como
> secuencia de escape pero ya probe de esta forma
> \\\\SERVIDOR\\BDDIR\\BDFILE.MDB y tampoco
>
> ???
>
> saludos, alf
>
> "Camilo Villa" wrote in message
> news:%
> > keyValue es de tipo RegistryKey?
> > o
> > Es el resultado de consultar Registry.GetValue("clave") y hacerle
casting
> a
> > String,
> >
> > Si es el primer caso creo que tienes que hacerle casting para que te
sirva
> > como string y quede así :
> > conectionString = "Provider=Microsoft.Jet.OLEDB.4.0; Jet


OLEDB:Database
> > Password=; Data Source=" +(String) keyValue;
> >
> > Si es el segundo caso, tienes que ver como está definida la variable
> > "keyValue"
> >
> > Camilo Villa
> > APTECH Certified Visual Studio .NET - Microsoft 3 DCE
> > "alf" escribió en el mensaje
> > news:
> > > Hola:
> > > quiero crear dinamicamente la cadena de coneccion a una BD Access,


,la
> > > cadena debe quedar de esta forma:
> > > m_dbConn.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0; Jet
> > > OLEDB:Database Password=; Data Source=\\SERVIDOR\BDDIR\BDFILE.MDB";
> > >
> > > si pongo esa cadena directamente no hay problemas, el problema viene
> > porque
> > > el camino de la BD la saco del Regustry de Windows entonces


concateno
de
> > la
> > > sgte forma:
> > >
> > > m_dbConn.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0; Jet
> > > OLEDB:Database Password=; Data Source=" + keyValue;
> > >
> > > y de esa forma no me funciona, a pesar de que la cadena es la misma.
> > >
> > > que sucede aqui ???
> > >
> > > PD: es un windows form, y programo en C#.
> > >
> > > saludos, alf.
> > >
> > >
> >
> >
>
>


email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida