none
Problemas con <connectionStrings> RRS feed

  • Pregunta

  • Buenas tardes
    Estoy desarrollando una página web que presenta controles relacionados con base de datos Acces. por consiguiente en web.configt hay una sección <connectionStrings>.
    En mi pc tiene la siguiente estructura:

    <connectionStrings>
        <add name="fragmentosConnectionString" connectionString="Provider=Microsoft.Jet.OLEDB.4.0;Data Source=&quot;D:\1 VS\1 Proyectos\Indexfragmentos\fragmentos.mdb&quot;"
          providerName="System.Data.OleDb" />
           </connectionStrings>

    y funciona bien pero  Cuando publico y subo a hosting se copia tal cual, pero al ejecutar da el siguiente error:

    System.Data.OleDb.OleDbException: 'D: \ 1 VS \ 1 Proyectos \ Indexfragmentos \ fragmentos.mdb' no es una ruta válida. Asegúrese de que el nombre de ruta esté escrito correctamente y de que esté conectado al servidor en el que reside el archivo. 

    El archivo .mdb está en la misma carpeta que el resto por lo que intenté varias maneras de referir. Por ejemplo "Data Source=fragmentos.mdb"-

    Ninguna me funciona. 

    Podrian ayudarme.

    Gracias


    Pedro López

    viernes, 21 de septiembre de 2018 17:52

Respuestas

  • Hola Pedro:

    La cadena de conexión cuando subes la base al servidor es diferente, tienes que tomar el nombre del servidor y la carpeta que compartas.

    Te pongo un ejemplo que será más orientativo.

    Mi cadena de Access, en la que tengo la base en el directorio de la aplicación:

     <add name="MiCadenaConexion" connectionString="Provider=Microsoft.ACE.OLEDB.12.0;Data Source =|DataDirectory|\gemmafin.accdb" providerName="System.Data.OleDb" />

    Bueno, si ahora la quiero poner en un servidor, haría lo siguiente, cambiar la ruta del diectorio |DataDirectory| por la siguiente ruta:

    <add name="MiCadenaConexion" connectionString="Provider=Microsoft.ACE.OLEDB.12.0;Data Source = \\Nombre Servidor\Nombre Carpeta Compartida\gemmafin.accdb" providerName="System.Data.OleDb" />

    Ya ves que solo cambio la ruta del directorio, el resto se queda igual.

    Un saludo.

    Gemma

    viernes, 21 de septiembre de 2018 18:10

Todas las respuestas

  • Hola Pedro:

    La cadena de conexión cuando subes la base al servidor es diferente, tienes que tomar el nombre del servidor y la carpeta que compartas.

    Te pongo un ejemplo que será más orientativo.

    Mi cadena de Access, en la que tengo la base en el directorio de la aplicación:

     <add name="MiCadenaConexion" connectionString="Provider=Microsoft.ACE.OLEDB.12.0;Data Source =|DataDirectory|\gemmafin.accdb" providerName="System.Data.OleDb" />

    Bueno, si ahora la quiero poner en un servidor, haría lo siguiente, cambiar la ruta del diectorio |DataDirectory| por la siguiente ruta:

    <add name="MiCadenaConexion" connectionString="Provider=Microsoft.ACE.OLEDB.12.0;Data Source = \\Nombre Servidor\Nombre Carpeta Compartida\gemmafin.accdb" providerName="System.Data.OleDb" />

    Ya ves que solo cambio la ruta del directorio, el resto se queda igual.

    Un saludo.

    Gemma

    viernes, 21 de septiembre de 2018 18:10
  • Gracias por la respuesta

    En web.config tengo lo siguiente

    <connectionStrings>
       ConnectionString = "PROVIDER=MICROSOFT.JET.OLEDB.4.0;DATA SOURCE=\Server.MapPath\BDs\Fragmentos.mdb"
       Set DbConnection = Server.CreateObject("ADODB.Connection") 
       DbConnection.Open ConnectionString   
           </connectionStrings>

    pero salta el siguiente error:

    Descripción: Se produjo un error durante el procesamiento de un archivo de configuración requerido para atender esta solicitud. Revise los detalles de error específicos a continuación y modifique su archivo de configuración de manera adecuada. 

    Mensaje de error del analizador: la sección de configuración no puede contener un elemento de texto o CDATA. 

    No se como seguir

    Gracias


    Pedro López

    domingo, 23 de septiembre de 2018 14:11