快轉到主要內容

Unity3D接入MySQL数据库

·637 字·2 分鐘
Y Cheung
作者
Y Cheung
Blogger, Programer & Traveler.
目錄

系統环境:
#

  • Windows 10(x64)(version 1909)
  • Unity3D (version 2018.3.0f2)
  • Microsoft Visual Studio Community 2017 (version 15.9.4)

操作步驟:
#

准備一個本地/綫上Mysql數據庫
#

Y Cheung 的數據庫設置如下:

1DATABASE Host: 127.0.0.1
2DATABASE Port: 3306
3DATABASE Name: my_db
4DATABASE Username: root
5DATABASE Password: 7vWe4Z@ZT2N#

下載並安裝Mysql Connector/ODBC(可選)
#

下載並安裝Mysql Connector/ODBC,如果安裝過程中遇到錯誤(Error 1918),前往官網下載並安裝最新的適合你系統的Visual C++ Redistributable。安裝完成后可以在C:\ProgramData\Microsoft\Windows\Start Menu\Programs\Administrative Tools\ODBC 数据源(64 位)的驅動程序中看到安裝好的驅動

Mysql Connector/ODBC driver

下載並安裝Mysql Connector/NET
#

下載並安裝Mysql Connector/NET ,安裝完成后可以在C:\Program Files (x86)\MySQL\MySQL Connector Net 8.0.19\Assemblies\v4.5.2看到以下文件

MySQL\MySQL Connector Net 8.0.19\Assemblies\v4.5.2

導入DLL文件
#

在Unity3D Assets中導入上一步驟中 C:\Program Files (x86)\MySQL\MySQL Connector Net 8.0.19\Assemblies\v4.5.2 文件夾裏的以下文件

1MySql.Data.dll
2BouncyCastle.Crypto.dll
3Google.Protobuf.dll
4Renci.SshNet.dll
5SshNet.Security.Cryptography.dll
6Ubiety.Dns.Core.dll
Unity3D import MySQL Connector Net dll

編輯scripts
#

開始你對數據庫操作的代碼,一個簡單的例子

 1using System.Collections;
 2using System.Collections.Generic;
 3using UnityEngine;
 4using MySql.Data.MySqlClient;
 5
 6public class MysqlAccess
 7{
 8    public static MySqlConnection mySqlConnection;
 9    static string host = "127.0.0.1";
10    static string user = "root";
11    static string pwd = "7vWe4Z@ZT2N";
12    static string db = "my_db";
13    static string port = "3306";
14
15    public void connectDB()
16    {
17        Open();
18    }
19    public static void Open()
20    {
21        try
22        {
23            string connectionString = string.Format("Server = {0};port={4};Database = {1}; User ID = {2}; Password = {3};", host, db, user, pwd, port);
24            mySqlConnection = new MySqlConnection();
25            mySqlConnection.Open();
26        }catch(System.Exception e)
27        {
28            throw new System.Exception(""+e.Message.ToString());
29        }
30    }
31
32    public void Close()
33    {
34        if (mySqlConnection != null)
35        {
36            mySqlConnection.Close();
37            mySqlConnection.Dispose();
38            mySqlConnection = null;
39        }
40    }
41}

⚠ 本文係幫助朋友解決Unity3D對接Mysql的問題,但Y Cheung不建議Unity3D在生產環境直接對數據庫進行操作,這是很危險的行爲

相關文章

drupal 7中操作遠程oracle數據庫

·584 字·2 分鐘
系統環境需求 # PHP環境最好是 PHP 7,系統最好是紅帽系。 操作步驟 # 安裝Oracle Instant Client # 在Oracle官網頁面中找到系統對應的客戶端下載安裝,比如Y CHEUNG選擇的就是 Instant Client Downloads for Linux x86-64 ,Fedora可以下載RPM包直接安裝,非RedHat系統的可能需要先編譯,用make install的方式安裝。

MYSQL外鍵導致無法清空表

·132 字·1 分鐘
最近設計的數據庫表含有外鍵,結果在開發時truncate table的時候報錯了, 1SQL错误(1701):Cannot truncate a table referenced in a foreign key constraint (`rollcall2`.`oncall`, CONSTRAINT `FK__calls` FOREIGN KEY (`calls_id`) REFERENCES `rollcall2`.`calls` (`id`)) 解決辦法如下: 1SET FOREIGN_KEY_CHECKS = 0; 2TRUNCATE table; 3SET FOREIGN_KEY_CHECKS = 1; 當然也可以通過移除外鍵之類的辦法,但是感覺還是用上面幾行命令來解決比較方便。

Aliyun MySQL Aborting

·331 字·1 分鐘
放了wordpress的主機最近經常掛掉,提示無法連結數據庫,檢查log信息發現是因為內存不足,把InnoDB的buffer pool size改小後似乎好了一些,可今天還是出錯了,log信息如下:

Unity3D製作Cardboard全景VR應用

·1481 字·3 分鐘
本文中所使用的軟體 # Unity3D 5.1.2f1 (官方下載地址) Unity 版的 Cardboard SDK(官方下載地址) Java SE Development Kit 8 (官方下載地址) Android SDK (官方下載地址) PTGui (可選) 操作步驟 # 新建 Unity3D 工程 # 在Unity中新建一個工程: VRtour