Foro de elhacker.net

Programación => .NET (C#, VB.NET, ASP) => Mensaje iniciado por: SRVAM en 20 Enero 2010, 09:12 am



Título: [C#] Duda cadena de conexion
Publicado por: SRVAM en 20 Enero 2010, 09:12 am
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
  1. 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 ;)


Título: Re: [C#] Duda cadena de conexion
Publicado por: Novlucker en 20 Enero 2010, 10:20 am
Y esa cadena la tienes en? web.config?

Saludos


Título: Re: [C#] Duda cadena de conexion
Publicado por: SRVAM en 20 Enero 2010, 10:34 am
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


Título: Re: [C#] Duda cadena de conexion
Publicado por: Novlucker en 20 Enero 2010, 10:44 am
Es que para eso justamente sirven estos archivos de configuración, para no tener incrustada esa info en código :P

Saludos


Título: Re: [C#] Duda cadena de conexion
Publicado por: SRVAM en 20 Enero 2010, 12:13 pm
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.


Título: Re: [C#] Duda cadena de conexion
Publicado por: Novlucker en 20 Enero 2010, 12:27 pm
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



Título: Re: [C#] Duda cadena de conexion
Publicado por: SRVAM en 20 Enero 2010, 13:01 pm
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 ;)


Título: Re: [C#] Duda cadena de conexion
Publicado por: Novlucker en 20 Enero 2010, 13:06 pm
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
  1. 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


Título: Re: [C#] Duda cadena de conexion
Publicado por: SRVAM en 20 Enero 2010, 13:15 pm
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??


Título: Re: [C#] Duda cadena de conexion
Publicado por: Novlucker en 20 Enero 2010, 13:26 pm
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


Título: Re: [C#] Duda cadena de conexion
Publicado por: SRVAM en 20 Enero 2010, 13:34 pm
si utilizo sql lite podria hacerlo sin tener que usar la instancia del server?

una pregunta un poco tonta, para usar sql lite con C# se hace igual que para sql server no??

using System.data.sqlclient; no??

si se peude hacer asi con sql lite lo hare con el ^^

espero te respuesta novlucker, y muchas gracias por la ayuda tio  ;-)


Título: Re: [C#] Duda cadena de conexion
Publicado por: Novlucker en 20 Enero 2010, 14:17 pm
Si, se maneja practicamente igual, solo debes de instalar el wrapper para sharp, y luego lo distribuyes con la librería

:http://luauf.com/2008/04/18/sqlite-con-c/
:http://www.csharphacker.com/technicalblog/index.php/2009/06/16/sqlite-for-c-part-1-am-i-allowed-to-use-it/
:http://codenull.wordpress.com/2009/01/28/operaciones-basicasagregar-borrar-y-modificar-con-sqlite-en-c/
http://foro.elhacker.net/net/solucionado_sqlite_y_vbnet_estoy_descargando_lo_correcto-t268498.0.html (VB.net, pero es lo mismo)

Igualmente hay que evaluar el tipo de aplicación para lo cual lo quieres, ya que SQLite carece de gestión de permisos de usuario entre otras cosas, pero si es para algo "simple" no deberías de tener problemas :P

Saludos


Título: Re: [C#] Duda cadena de conexion
Publicado por: SRVAM en 20 Enero 2010, 15:30 pm
muchas gracias Noclucker, eso era justo lo que necesitaba  ;-)

gracias y perdona las molestias jeje

nos leemos ;)


Título: Re: [C#] Duda cadena de conexion
Publicado por: MANULOMM en 20 Enero 2010, 20:36 pm
SQL COMPACT!!!!.. es como un SQL Lite y mas integrado....

Atentamente,

Juan Manuel Lombana
Medellín - Colombia


Título: Re: [C#] Duda cadena de conexion
Publicado por: raul338 en 20 Enero 2010, 21:33 pm
La cadena de conexión que uso ahora mismo es esta:

Código
  1. connectionString="Data Source=.\\SQLEXPRESS;AttachDbFilename=|DataDirectory|\\DBTaxiGest.mdf;Integrated Security=True;Connect Timeout=30;User Instance=True"

yo pregunto, es necesario el "Data Source=.\\SQLEXPRESS;" ??? porque yo tambien antes usaba el SQLExpress (que venia con visual studio) y en un hosting usaban el sql enterprise (segun me acuerdo), y usaba la misma cadena (que recuerde) solo que sin esa parte, en los 2 (mi pc y en el hosting), prueba sacandolo, asi se "deducira" que motor usar y abrira la base de datos ...... o estoy muy mal equivocado ?? :xD


Título: Re: [C#] Duda cadena de conexion
Publicado por: SRVAM en 21 Enero 2010, 21:56 pm
yo creo que el Data Source si es necesario, porque si no lo pongo me ad un castañazo  :rolleyes:

el programa no sabe en que instancia debe buscarlo... quiza haya una forma de ponerlo para que sea mas.. generico, pero no se como hacerlo jajaja

mirare el SQL COMPACTv  ;D