Noticias

¡RECUERDA QUE SI ERES UN NUEVO USUARIO, DEBES PRESENTARTE PARA PODER PUBLICAR MENSAJES! | TENEMOS CANAL OFICIAL DE TELEGRAM: t.me/unity3dspain

Fallo al conectar BD desde el ejecutable

Iniciado por ecko, Abril 05, 2016, 09:23:51 PM

Tema anterior - Siguiente tema
 Buenas a todos, resulta que al ejecutar el juego desde unity no tengo ningún problema a la hora de conectar la base de datos pero resulta que cuando compilo y ejecuto el juego desde el .exe no me conecta con la BD, aquí dejo en el punto que da el problema:  var conexionString ="Server=" + servidor  +  ";Database=" + bdNombre + ";Uid=" + usuario + ";Pwd=" + password + ";";function conectar(){
        dbcon = new MySqlConnection(conexionString);
        dbcon.Open();
    }


UnityException: GameObject has undefined tag!

Ostras, pues no tiene nada que ver con la conexión de la bbdd.Nos falta ver el código que utilizas, ya que está claro que buscas un GameObject por su tag y no lo encuentras.

Échale un ojo al Project Settings y los tags, porque suena a que te ha petado algo del proyecto, antes de exportar.

Es una clase que me he creado:     
    public class MySqlJuego {
    
    // Datos servidor
    public static var servidor:String = "localhost"; // IP del servidor!    
    public static var bdNombre:String = "juego";
    public static var usuario:String = "root";
    public static var password:String = "password";
    var conexionString : String;
    var dbcon : MySqlConnection;
    var query : MySqlCommand;
    var lectura : MySqlDataReader;
    
    
    public function MySqlJuego(){
    conexionString ="Server=" + servidor  +  ";Database=" + bdNombre + ";Uid=" + usuario + ";Pwd=" + password + ";";
    }
    
    
    public function MySqlJuego(Servidor : String, BdNombre : String, Usuario : String, Password : String){
    servidor=Servidor;
    bdNombre=BdNombre;
    usuario=Usuario;
    password=Password;
    conexionString ="Server=" + servidor  +  ";Database=" + bdNombre + ";Uid=" + usuario + ";Pwd=" + password + ";";
    }
        function conectar(){
        dbcon = new MySqlConnection(conexionString);
        dbcon.Open();
    }     Luego agrego a otro script en function start(){MySql=new MySqlJuego(); dbcon.Open();

Espera, por lo que dice pioj, no necesitarás ninguna dll a incluir para exportar en el proyecto?

Abril 05, 2016, 10:43:37 PM #7 Ultima modificación: Abril 05, 2016, 10:49:54 PM por ecko
He entrado a la carpeta client_Data\Managed del ejecutable compilado y contiene el MySql.Data.dll, System.Data.dll y System.Drawing.dllque son supuestamente los ficheros que se necesitan, eso si aparecen como bloqueado que he probado a desbloquearlos antes de ejecutarlo y nada. He mirado proyec setting y no veo nada raro, pero sin embargo si lo ejecuto desde unity me funciona perfectamente :S  


Abril 05, 2016, 10:53:27 PM #9 Ultima modificación: Abril 05, 2016, 10:57:21 PM por ecko
ahóramismo la tengo como local en el mismo ordenador el problema esta justo aquí:    function conectar(){
        dbcon = new MySqlConnection(conexionString);
        dbcon.Open();<----------------AQUÍ
    } 

El error es muy extraño para ser un open. Mira como obtener la cadena del error de dbcon, o un try/catch. Algo así.

Es como si desde el cliente no funcionasen las librerías, estoy mirando y probando y aún no he conseguido saber mas.Puede ser algo de compatibilidad con la net 2.0?

No tiene sentido desde el editor sí y fuera no. De verdad que indagaría sobre el error que devuelve, ya que lo del tag suena muy extraño.

Acabo de indagar como comentas, y devuelve este error:ename unknown>:0Client.MySqlPool.GetPooledConnection () [0X00000] in <filename unknown>:0MySql.Data.MySqlClient.MySqlPool.TryToGetDriver () [0X00000] in <filename unknown>:0
creo que dbcon = new MySqlConnection(conexionString); esta devolviendo null y por ello viene este error, pero no entiendo porque devuelve null si por unity va todo perfectamente...

Hace un tiempo hice una herramienta para la conexión con la base de datos...
eature=oembed" frameborder="0" allowfullscreen="true">

Etiquetas: