none
Publicar aplicacion de Mysql RRS feed

  • Pregunta

  • Saludos, he desarrollado una aplicación la cual conecta con una base de datos de mysql el cual esta en un hosting, es decir en un servidor externo, hice la referencia a MySql.data.dll y ya veo la libreria en la carpeta References en el 'Solution Explorer' tambien dentro de mi codigo agregre using MySql.Data.MySqlClient; ya que es una aplicacion C#, cuando la corro localmente me funciona perfecto. Pero cuando publico el sitio en el servidor de mi hosting no funciona, ya agregue el MySql.Data.dll a la carpeta Bin y nada.

     

    En las propiedades del Mysql.data en las referencias el Path tiene ruta local es decir C:/.. yo imagino que debe apuntar a una ruta dentro de mi hosting del tipo httpdocs/bin como hago para hacer la referencia de esta manera.

    martes, 31 de mayo de 2011 23:48

Todas las respuestas

  • en las referencias el Path tiene ruta local es decir C:/.. yo imagino que debe apuntar a una ruta dentro de mi hosting del tipo httpdocs/bin

    pero mysql funciona como servicio, no hay ninguna ruta fisica para conectarse a la db

    deberias redireccionar el connection string para que funcione en el hosting

    indicando en este el servidor, el puerto, y el nombre de la db a la cual te conectaras

    Connection strings for MySQL

    es alli donde cambias para que se pueda usar en el hosting, pero como veras no hay una ruta a ninfuna base de datos porque esta esta dentro del servicio de sql server

     

    saludos


    Leandro Tuttini

    Blog
    Buenos Aires
    Argentina
    miércoles, 1 de junio de 2011 1:20
  • Que tal Leandro, en el connection string esta direccionado al hosting, en el webconfig tengo lo siguiente;

    <add name="wcl1nConnectionString2" connectionString="server=ameac2.org;User Id=calen;password=x;Persist Security Info=True;database=wcl1n"
       providerName="MySql.Data.MySqlClient" />

    Y para C# tengo;

    string cnnString = "Server=ameac2.org;Port=3306;Database=wcl1n;Uid=calen;Pwd=x";

     

    Mi duda es como sabe la aplicación que el dll de Mysql se encuentra en la carpeta BIN ya cuando esta publicada?

    miércoles, 1 de junio de 2011 14:55
  • Este es el error que me marca ya cuando publico el sitio;

     

     

    Could not load file or assembly 'MySql.Data.Entity' or one of its dependencies. This assembly is built by a runtime newer than the currently loaded runtime and cannot be loaded.

     


    miércoles, 1 de junio de 2011 16:08
  • has puesto la dll de mysql, ald e ado.net en la carpeta \bin del sitio web ?

    esto cuando lo publicas


    Leandro Tuttini

    Blog
    Buenos Aires
    Argentina
    miércoles, 1 de junio de 2011 20:00
  • Q tal Leandro, gracias por la respuesta. Lo que hice fue copiar el archivo MySql.Data.dll. a la carpeta BIN de hecho hice algunas pruebas agregando el codigo que anexo en la parte de abajo al Web.config en un proyecto que solo tiene un gridview conectado a un data source con el concetor de Mysql, cuando agregue este codigo el proyecto funciona bien en el hosting. Alguien me podria explicar este codigo para entender porque con esto si funciona, ya que cuando agrego behind code para cargar un gridview esto no funciona.

    <system.data>
            <DbProviderFactories>
                <add name="MySQL Data Provider" invariant="MySql.Data.MySqlClient" description=".Net Framework Data Provider for MySQL" type="MySql.Data.MySqlClient.MySqlClientFactory, MySql.Data, Version=6.3.6.0, Culture=neutral, PublicKeyToken=c5687fc88969c44d"/>
            </DbProviderFactories>
        </system.data>

    <runtime>
            <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
                <dependentAssembly>
                    <assemblyIdentity name="MySql.Data" publicKeyToken="c5687fc88969c44d"/>
                    <bindingRedirect oldVersion="0.0.0.0-6.3.5.0" newVersion="6.3.6.0"/>
                </dependentAssembly>
                <dependentAssembly>
                    <assemblyIdentity name="System.Web.Extensions" publicKeyToken="31bf3856ad364e35"/>
                    <bindingRedirect oldVersion="1.0.0.0-1.1.0.0" newVersion="3.5.0.0"/></dependentAssembly>
                <dependentAssembly>
                    <assemblyIdentity name="System.Web.Extensions.Design" publicKeyToken="31bf3856ad364e35"/>
                    <bindingRedirect oldVersion="1.0.0.0-1.1.0.0" newVersion="3.5.0.0"/></dependentAssembly></assemblyBinding>
        </runtime>

    jueves, 2 de junio de 2011 16:51
  • lo que defines alli son als dll que sl sitio debe cargar cuando ejecuta

    pero me llama la atencion porque referenciando en tu codigo al dll de mysql deberi ser sificiente con poner esta en el \bin

    quizas se deba a que has creado en el VS un proyecto del tipo Web Site y no un Web Application

    estas usando VS2008 SP1 ? si es asi crear un web application

     

    saludos


    Leandro Tuttini

    Blog
    Buenos Aires
    Argentina
    jueves, 2 de junio de 2011 17:04
  • Subi un video donde se puede ver mas claro mi problema http://www.youtube.com/watch?v=jJZyLcLhJ88

     

    Olvide mencionar en el video que la libreria MySql.Data.dll ya va copiada en la carpeta BIN.

    En el video puedes ver que al agregar el codigo en el web.confing si funciana en el hosting, pero localmente no. Al quitar el codigo del web.config si funciona localmente pero en el hosting no.

     

    ¿Que puedo hacer para que funcione en ambas situaciones?

    jueves, 2 de junio de 2011 18:23