歐陽小白之前做的一直是單機遊戲,所以根本用不到資料庫和伺服器。不過最近我開始折騰聯網遊戲。所以本文就介紹一下unity連MySQL資料庫所遇到的一些坑。
unity連接資料庫,首先你需要導入如圖所示的五個數據連結庫。
在本圖中,歐陽講他們放到了Mysql文件夾下,在這裡歐陽強調一下――最好將他們放到
Plugins文件夾下,不然會出現莫名其妙的問題哦。
接下來歐陽就教你怎麼找這6個驅動,首先在MySQL資料庫目錄下找到Mysql.Data.dll
在這裡,歐陽遇到了一個問題。由於我的MySQL不是在官網下的,所以我並沒有找到這個驅動,費了很大力氣才找到的。如果您也沒有找到這個驅動,可以在下面評論我會私發給您。我的MySQL版本是5.5的。
接下來開始找剩下的幾個。找到你的unity安裝目錄。小編的是在
D:\Program Files\Unity\Editor\Data\Mono\lib\mono
這時您會發現這裡是不是有2.0和unity兩個目錄呢?首先打開unity目錄,找到I18N.dll I18N.West.dll I18N.CJK.dll 如果不引用這三個,在測試的時候也可以連上,但是打包出來就連不上了!!!這個坑歐陽始終記得。
然後在 D:\Program Files\Unity\Editor\Data\Mono\lib\mono\2.0找到System.Data.dll System.Drawing.dll
這樣,驅動包導入成功。接下來開始寫代碼測試。新建一個MyLogin腳本。
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using System;
using System.Data;
using MySql.Data.MySqlClient;
public class MyLogin : MonoBehaviour {
public static MySqlConnection mySqlConnection;
static string host = "127.0.0.1";//這裡是ip地址
static string id = "root";//
static string pwd = "123";//資料庫密碼
static string database = "houseapp";//要連接的資料庫
public static void OpenSql()
{
try
{
string sqlString = string.Format("Server={0};Database={1};User ID ={2};Password ={3};", host, database, id, pwd);
mySqlConnection = new MySqlConnection(sqlString);
mySqlConnection.Open();
}
catch(Exception e)
{
Console.WriteLine(e.Message);
}
}
}
這樣unity和MySQL數據連接成功。
在下一篇我將給大家介紹發布安卓包的一些相關配置。