En este momento estás viendo Acceso a la base de datos MySQL usando C# en unity?

 – Unity

Acceso a la base de datos MySQL usando C# en unity? – Unity

Acceso a la base de datos MySQL usando C# en unity?

– UnityAssets3Free

buenas , soy josel luis y en esta ocasion os traigo
esta pregunta

Acabo de empezar a usar C# y no sé mucho al respecto. Estoy usando un motor de juegos 3D llamado Unity e intento escribir un script C# para acceder a la base de datos MySQL que estoy ejecutando. La base de datos MySQL está en una computadora diferente. Mi pregunta es ¿cómo puedo acceder a la base de datos MySQL usando C#? Sé el nombre de usuario, la contraseña y la base de datos que quiero usar, pero no sé cómo acceder a la base de datos.

5 respuestas 5

Deberá obtener el controlador MySQL de C#: http://dev.mysql.com/downloads/connector/net/

Y luego deberá seguir el manual de MySQL para configurarlo y usarlo. Es un controlador ADO.NET estándar, por lo que debería poder seguir la mayoría de los tutoriales de C# SQL disponibles para obtener ayuda adicional.

Unity3D usa Mono.net simplificado que no admite la base de datos directamente. Puede escribir su propia DLL en C# .NET que accede a los datos por usted. Después agréguelo a su proyecto Unity3D.

Mientras escribe su propia DLL, asegúrese de que cuando traiga esa DLL a su proyecto, también copie la DLL a la que se hace referencia en la misma carpeta. El mejor enfoque sería usar Mono.NET.

Me enfrenté al mismo problema ayer y encontré una solución satisfactoria que funciona tanto en PC como en Android.

1: Descargue aquí el archivo .DLL correspondiente a la versión .NET de destino del proyecto de Visual Studio (para mí, 3.5, la versión 6.9.8.0 funcionó bien). Si descarga una versión incorrecta, obtendrá un error en el editor de Unity. enlaces para descargar el archivo: https://www.dllme.com/dll/files/mysql_data_dll.html o este: https://downloads.mysql.com/archives/c-net/

2: Descomprima el archivo .DLL e inclúyalo en el proyecto (colóquelo en cualquier lugar dentro de la carpeta Activos).

3: Programe su conexión a la base de datos;) aquí hay un pequeño ejemplo:

 using System;
 using System.Data;

 using MySql.Data;
 using MySql.Data.MySqlClient;

 public class Tutorial4
 
     public static void Main()
     
         string connStr = "server=localhost;user=root;database=world;port=3306;password=******";
         MySqlConnection conn = new MySqlConnection(connStr);
         try
         
             Console.WriteLine("Connecting to MySQL...");
             conn.Open();

             string sql = "SELECT COUNT(*) FROM Country";
             MySqlCommand cmd = new MySqlCommand(sql, conn);
             object result = cmd.ExecuteScalar();
             if (result != null)
             
                 int r = Convert.ToInt32(result);
                 Console.WriteLine("Number of countries in the world database is: " + r);
             

         
         catch (Exception ex)
         
             Console.WriteLine(ex.ToString());
         

         conn.Close();
         Console.WriteLine("Done.");
     
 

Configuración de base de datos (SQLite) para Unity
crear nueva carpeta

  1. Cree una nueva carpeta en la carpeta Activos. Cámbiele el nombre Complementos.

  2. Copie sqlite3.def y sqlite3.dll en Activos/Complementos en su unity proyecto .Puedes descargar estos archivos aquí http://www.sqlite.org/download.html para Windows (binarios precompilados para Windows)

  3. Descargar navegador SQLite http://sourceforge.net/projects/sqlitebrowser/ o http://sqliteadmin.orbmu2k.de/ descargar la herramienta Administrador de SQLite
  4. Cree la base de datos en la carpeta Activos en su unity proyecto utilizando el navegador SQLite.
  5. Copie System.Data.dll y Mono.Data.Sqlite.dll de **C:Program Files (x86)UnityEditorDataMonolibmono2.0* y péguelos en la carpeta Assets/Plugins* en tus unity proyecto.
  6. Agregue estos espacios de nombres usando Mono.Data.Sqlite; utilizando System.Data; utilizando el sistema;
  7. string conn= «URI=archivo:» + Application.dataPath + «/PickAndPlaceDatabase.s3db»;

Reemplace PickAndPlaceDatabase.s3db con el nombre de su base de datos

en Carpeta de activos, cámbiele el nombre Complementos.

void Start () 

             string conn = "URI=file:" + Application.dataPath + "/PickAndPlaceDatabase.s3db"; //Path to database.
             IDbConnection dbconn;
             dbconn = (IDbConnection) new SqliteConnection(conn);
             dbconn.Open(); //Open connection to the database.
             IDbCommand dbcmd = dbconn.CreateCommand();
             string sqlQuery = "SELECT value,name, randomSequence " + "FROM PlaceSequence";
             dbcmd.CommandText = sqlQuery;
             IDataReader reader = dbcmd.ExecuteReader();
             while (reader.Read())
             
                 int value = reader.GetInt32(0);
                 string name = reader.GetString(1);
                 int rand = reader.GetInt32(2);

                 Debug.Log( "value= "+value+"  name ="+name+"  random ="+  rand);
             
             reader.Close();
             reader = null;
             dbcmd.Dispose();
             dbcmd = null;
             dbconn.Close();
             dbconn = null;
         


estos son enlaces útiles:

Más ayuda de SQLite Visita: http://www.tutorialspoint.com/sqlite/

http://wiki.unity3d.com/index.php/Webservices_In_Unity

entonces deberías agregar esta biblioteca a tu código C#:

using AssemblyCSharp.portal.wwwww.com;

ahora puedes usar:

using UnityEngine;
using System.Collections;
using AssemblyCSharp.portal.wwwww.com;

public class Game5_Player : MonoBehaviour

    public string Logo;
    void Start ()
    
        crm1 s = new crm1();
        Logo= s.getCompanyLogo ();
    

Puede encontrar un procedimiento en Unidad Wiki con PHP, MySQL y C#/JavaScript.

Consta de tres pasos

  1. Cree una base de datos y una tabla MySQL en blanco.
  2. Cree un script del lado del servidor PHP (esto se conectará a la tabla MySQL, recibirá datos de un script de Unity (paso 3) y consultará la base de datos (los ejemplos proporcionados son ingresar datos o seleccionar))
  3. Cree el script de Unity Controller (esto se conectará al script PHP creado en el paso 2)

nota: si aun no se resuelve tu pregunta por favor dejar un comentario y pronto lo podremos de nuevo , muchas gracias

sin mas,espero que te funcione

Deja una respuesta