Publicacion proyecto

17/10/2006 - 23:54 por kdokdo | Informe spam
Hola, me gustaría saber cómo funciona el tema de bases de datos en
una aplicación publicada en VS2005.

El problema es el siguiente. Quiero publicar un programa que tiene
bases de datos. Lo publico y bien, me crea 3 archivos y una carpeta con
unos cuantos archivos más. Tiniendo en cuenta que la base de datos
tiene que estar en un servidor para poder acceder a ella desde
cualquier ordenador con el programa instalado de la red local, no veo
yo la forma de hacerlo.

Igualmente, he intentado pasar una publicaión a un amigo y se le ha
quedado tirado al instalar. Alguna idea de pq ocurre esto?

Una ayudita por favor!!
Muchas gracias!

Preguntas similare

Leer las respuestas

#1 Alberto Poblacion [MVP]
18/10/2006 - 08:47 | Informe spam
wrote in message
news:
Quiero publicar un programa que tiene
bases de datos. Lo publico y bien, me crea 3 archivos y una carpeta con
unos cuantos archivos más. Tiniendo en cuenta que la base de datos
tiene que estar en un servidor para poder acceder a ella desde
cualquier ordenador con el programa instalado de la red local, no veo
yo la forma de hacerlo.



Eso requiere algo de intervención manual. El mero hecho de publicar el
programa no va a conseguir que la base de datos se comparta en un servidor.
En primer lugar, tendrás que instalar la base de datos en el servidor.
Asumo que estás usando Sql Server Express, y que estás manejándolo en el
modo que se llama "instancia de usuario", en el que el propio programa tiene
en un directorio un fichero .mdf con los datos de la base de datos. Este
modo de funcionamiento no sirve para tener la base de datos en un servidor,
ya que solo permite acceder desde la máquina local. Así pues, tendrás que
hacer dos cosas: 1) instalar el Sql Server en el servidor y configurarlo
para que sea accesible desde fuera de la máquina, y 2) modificar tu programa
para que acceda al Sql Server del servidor en lugar de la instancia local.

La parte 2) se consigue cambiando la cadena de conexión. En algún sitio
de tu programa, cuando creas la conexión a la base de datos utilizas una
cadena denominada "cadena de conexión" que tiene todos los datos necesarios
para que el programa se conecte a ella. La cadena de conexión siempre
existe: incluso aunque tú no la hayas tocado, y hayas usado las herramientas
gráficas para conectarte, en él código generado por el diseñador se ha
creado la cadena de conexión. Tienes que localizarla y modificarla para
quietarle el "user instance" y ponerle en cambio los datos de tu servidor:
SqlConnection1.ConnectionString =
"Server=MiServidor;Database=MiBase;User Id=usuario;Password=clave";

En cuanto a 1), tendrás que fijarte al instalar el Sql Server en el
manual de instalación, que te indica los parámetros que tienes que poner si
quieres dejarlo abierto a otras máquinas (por defecto solo atiende a la
máquina local), y también para que acepte "autenticación mixta" (usuario y
password, en lugar de sólo usuarios de Windows que es lo que toma por
defecto). Tendrás que dar de alta un usuario y password que son los que
están más arriba en la cadena de conexión. También es posible usar la
autenticación integrada con Windows, pero eso impone ciertos requisitos en
cuanto a la configuración del servidor y de los puestos para que aquel
reconozca a los usuarios de éstos.
Respuesta Responder a este mensaje
#2 kdokdo
18/10/2006 - 22:36 | Informe spam
Alberto eres el puto amo, si pudiera te invitaba a una caña. Gracias
por tu tiempo ;*


Alberto Poblacion [MVP] ha escrito:

wrote in message
news:
> Quiero publicar un programa que tiene
> bases de datos. Lo publico y bien, me crea 3 archivos y una carpeta con
> unos cuantos archivos más. Tiniendo en cuenta que la base de datos
> tiene que estar en un servidor para poder acceder a ella desde
> cualquier ordenador con el programa instalado de la red local, no veo
> yo la forma de hacerlo.

Eso requiere algo de intervención manual. El mero hecho de publicar el
programa no va a conseguir que la base de datos se comparta en un servidor.
En primer lugar, tendrás que instalar la base de datos en el servidor.
Asumo que estás usando Sql Server Express, y que estás manejándolo en el
modo que se llama "instancia de usuario", en el que el propio programa tiene
en un directorio un fichero .mdf con los datos de la base de datos. Este
modo de funcionamiento no sirve para tener la base de datos en un servidor,
ya que solo permite acceder desde la máquina local. Así pues, tendrás que
hacer dos cosas: 1) instalar el Sql Server en el servidor y configurarlo
para que sea accesible desde fuera de la máquina, y 2) modificar tu programa
para que acceda al Sql Server del servidor en lugar de la instancia local.

La parte 2) se consigue cambiando la cadena de conexión. En algún sitio
de tu programa, cuando creas la conexión a la base de datos utilizas una
cadena denominada "cadena de conexión" que tiene todos los datos necesarios
para que el programa se conecte a ella. La cadena de conexión siempre
existe: incluso aunque tú no la hayas tocado, y hayas usado las herramientas
gráficas para conectarte, en él código generado por el diseñador se ha
creado la cadena de conexión. Tienes que localizarla y modificarla para
quietarle el "user instance" y ponerle en cambio los datos de tu servidor:
SqlConnection1.ConnectionString > "Server=MiServidor;Database=MiBase;User Id=usuario;Password=clave";

En cuanto a 1), tendrás que fijarte al instalar el Sql Server en el
manual de instalación, que te indica los parámetros que tienes que poner si
quieres dejarlo abierto a otras máquinas (por defecto solo atiende a la
máquina local), y también para que acepte "autenticación mixta" (usuario y
password, en lugar de sólo usuarios de Windows que es lo que toma por
defecto). Tendrás que dar de alta un usuario y password que son los que
están más arriba en la cadena de conexión. También es posible usar la
autenticación integrada con Windows, pero eso impone ciertos requisitos en
cuanto a la configuración del servidor y de los puestos para que aquel
reconozca a los usuarios de éstos.
email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida