[C#] Duda cadena de conexion

Iniciado por SRVAM, 20 Enero 2010, 09:12 AM

0 Miembros y 1 Visitante están viendo este tema.

SRVAM

Buenas a todos!!

Vengo con otra duda que no se solucionar.
Yo creo una cadena de conexión para una base de datos con la que estoy trabajando en mi proyecto. Agrego la base de datos a los archivos del proyecto. Pero en la cadena de conexión me aparece el servidor de base de datos SQLEXPRESS.

El problema esta en que, una vez haya terminado el proyecto, y yo instale el programa en un ordenador que no sea el mio, no va a tener el SQL server instalado y no podria conectar a la base de datos.

¿Cómo puedo indicar yo en la cadena de conexión que me busque la base de datos y se conecte a ella solo indicandole la ruta en la que se ejecuta la aplicación? que es alli donde estará la base de datos

La cadena de conexión que uso ahora mismo es esta:

Código (csharp) [Seleccionar]
connectionString="Data Source=.\\SQLEXPRESS;AttachDbFilename=|DataDirectory|\\DBTaxiGest.mdf;Integrated Security=True;Connect Timeout=30;User Instance=True"

Espero que podais ayudarme y haber sido claro con mi explicación.

Si no se me entiende bien, decidmelo e intetaré explicarme mejor ;)

Saludos a todos y gracias por adelantado ;)
C# Programmer

-Estudiante MCTS .NET Framework 3.5-

Novlucker

Y esa cadena la tienes en? web.config?

Saludos
Contribuye con la limpieza del foro, reporta los "casos perdidos" a un MOD XD

"Hay dos cosas infinitas: el Universo y la estupidez  humana. Y de la primera no estoy muy seguro."
Albert Einstein

SRVAM

no no, la cadena la tengo en codigo, la cree con el asistente del visual studio.

esa exactamente es la cadena que tengo en el archivo app.config
C# Programmer

-Estudiante MCTS .NET Framework 3.5-

Novlucker

Es que para eso justamente sirven estos archivos de configuración, para no tener incrustada esa info en código :P

Saludos
Contribuye con la limpieza del foro, reporta los "casos perdidos" a un MOD XD

"Hay dos cosas infinitas: el Universo y la estupidez  humana. Y de la primera no estoy muy seguro."
Albert Einstein

SRVAM

si si, pero aun asi, mi duda no es esa.
lo que necesito saber, es como hacer para que en la cadena de conexion, mi programa no busque un servidor de SQLEXPRESS para buscar ahi la base de datos.
si no que directamente se vaya a la ruta donde se ejecuta el programa, y abra la base de datos que es ahi.
C# Programmer

-Estudiante MCTS .NET Framework 3.5-

Novlucker

Esta bien, si quieres hacerlo de la manera fea, es tu decisión :P

Server.MapPath
:http://msdn.microsoft.com/en-us/library/0e7ykf56.aspx

Saludos

Contribuye con la limpieza del foro, reporta los "casos perdidos" a un MOD XD

"Hay dos cosas infinitas: el Universo y la estupidez  humana. Y de la primera no estoy muy seguro."
Albert Einstein

SRVAM

muchas gracias novlucker

ey tio, yo no quiero hacerlo de la forma mas fea, te agradezco el consejo de antes de verdad, pero no se como hacer la cadena de conexion en un archio app.config de forma que no haga falta tener instalado el sql server en el equipo en el que se ejecutara la aplicacion.

pero me viene muy bien el consejo de usar el archivo config. pero todavia no se usarlo.

muchas gracias por la ayuda en serio ;)
C# Programmer

-Estudiante MCTS .NET Framework 3.5-

Novlucker

Bien! Y con respecto a lo de que no haya que tener SQL en la máquina donde se ejecuta la aplicación, basta con cambiar el "punto" del string de conexión

Algo de tipo:
Código (csharp) [Seleccionar]
connectionString="Data Source=PCREMOTA\\SQLEXPRESS;AttachDbFilename=|DataDirectory|\\DBTaxiGest.mdf;Integrated Security=True;Connect Timeout=30;User Instance=True"

El punto indica que es la máquina local, solo hay que indicar los datos de la otra remota :P

Saludos
Contribuye con la limpieza del foro, reporta los "casos perdidos" a un MOD XD

"Hay dos cosas infinitas: el Universo y la estupidez  humana. Y de la primera no estoy muy seguro."
Albert Einstein

SRVAM

mmm... esta bien asi, pero no me sirve, porque es una aplicacion para un unico usuario, que no tendra internet. asi que la base de datos estara en el equipo local, y no estara instalado sql server.

deberia poder abrir el archivo de base de datos sin necesidad de conectarme a un servidor de sql server no? o no es posible hacer eso??
C# Programmer

-Estudiante MCTS .NET Framework 3.5-

Novlucker

#9
No, debes de tener un instancia de SQL Server en algún sitio ya que tu desde C# le envias la data, pero quien la maneja finalmente es el server :-\

¿Y Access? ¿SQLite?

Saludos
Contribuye con la limpieza del foro, reporta los "casos perdidos" a un MOD XD

"Hay dos cosas infinitas: el Universo y la estupidez  humana. Y de la primera no estoy muy seguro."
Albert Einstein