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:
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 ;)
Y esa cadena la tienes en? web.config?
Saludos
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
Es que para eso justamente sirven estos archivos de configuración, para no tener incrustada esa info en código :P
Saludos
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.
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
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 ;)
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:
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
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??
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
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 ;-)
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
muchas gracias Noclucker, eso era justo lo que necesitaba ;-)
gracias y perdona las molestias jeje
nos leemos ;)
SQL COMPACT!!!!.. es como un SQL Lite y mas integrado....
Atentamente,
Juan Manuel Lombana
Medellín - Colombia
Cita de: SRVAM en 20 Enero 2010, 09:12 AM
La cadena de conexión que uso ahora mismo es esta:
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
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