U 3 D接続MySQLデータベース詳細手順解析
4388 ワード
この記事では、ブログ主のHozshanさんの記事「Unity 3 D学習ノート(4)Unity接続MySQLデータベース」から、各ステップについて詳しく説明しています.記事リンク:https://blog.csdn.net/sysuhezshan/article/details/41521423
1.まずMySQLをインストールする
私がインストールしたのはmysql-installer-community-5.5です.28.3.exe(アクセス可能http://www.mysql.com/downloads/mysql/無料ダウンロード)
インストールに成功したら、cmdを実行し、\%インストールルートを開きます%\MySQLMySQLMySQL Server 5.5bin、指令mysql-u root-pを入力します.
rootはユーザー名で、パスワードを入力してshow databasesを入力します.を参照してください.
2.データベースの作成
MySQLが提供するMySQL Workbenchツールを使用して簡単なデータベースmyscoresdbを構築し、データテーブルを作成してHIscoresと命名し、id、name、scoreの3つのデータを追加してユーザー名とスコアを保存します.プライマリ・キーはidです.このプロセスは簡単ですが、詳しくは言いません.
3.DLLファイルのインポート
これは私の悩みを解決する重要なステップです.
①Unityのインストールディレクトリを開き、\%インストールルートディレクトリ%\EditorDataMonolibmono2.0では、System.Data.dllとSystemDrawing.dllはUnityエンジニアリングディレクトリの下にあるAssetsファイルにコピーします.
②MySQLのインストールディレクトリを開き、\%ルートディレクトリをインストール%\Connector NET 6.5.4\Assemblies\v2.0でMySql.Data.dllはUnityエンジニアリングディレクトリの下にあるAssetsファイルにコピーします.
どのフォルダの下にあるMySqlを使いますか.Data.dllは具体的な必要に応じて、前に私が選んだのはv 4の下のMySqlです.Data.dll、結果としてMissingMethodException:Method not found:'System.Threading.Monitor.Enter’.
4.接続MySQLスクリプトを作成します.
Unityプロジェクトでc#スクリプトを作成し、Visual Studio 2010を使用してスクリプトを編集します.
まず3つのdllの参照を追加します.プロジェクト->参照の追加->ブラウズ、3つのdllをスムーズに追加します.
次に、接続スクリプトを作成します.
[csharp] view plain
copy
print ?
using UnityEngine;
using System;
using System.Collections;
using System.Data;
using MySql.Data.MySqlClient;
public class Test : MonoBehaviour
{
void Start()
{
string constr = “server=localhost;Database=myscoresdb;User Id=root;password=1111”;
//接続を確立する文//ローカルデータベースサーバがlocalhostの場合、そうでない場合はサーバのアドレスを入力します.
MySqlConnection mycon = new MySqlConnection(constr);//接続確立 mycon.Open();
//挿入命令 MySqlCommand mycmd = new MySqlCommand(“insert into hiscores(id,name,score) values(4,’lisi’,98)”, mycon);
if (mycmd.ExecuteNonQuery() > 0)
Debug.Log(”Insert success!”);
//問合せ命令 string selstr = “select * from hiscores”;
MySqlCommand myselect = new MySqlCommand(selstr, mycon);
DataSet ds = new DataSet();
try
{
MySqlDataAdapter da = new MySqlDataAdapter(selstr, mycon);
da.Fill(ds);
Debug.Log(”Query success!”);
print(ds.Tables[0].Rows[0][0]);
}
catch (Exception ee)
{
throw new Exception(“SQL: ” + selstr + “” + ee.Message.ToString());
}
mycon.Close();//接続を閉じる }
}
スクリプトを保存し、Unityでテストスクリプトをカメラに関連付けてテストします.
まだデータベースに接続できない場合は、TCP/IPプロトコルを起動して再試行できます.
1.まずMySQLをインストールする
私がインストールしたのはmysql-installer-community-5.5です.28.3.exe(アクセス可能http://www.mysql.com/downloads/mysql/無料ダウンロード)
インストールに成功したら、cmdを実行し、\%インストールルートを開きます%\MySQLMySQLMySQL Server 5.5bin、指令mysql-u root-pを入力します.
rootはユーザー名で、パスワードを入力してshow databasesを入力します.を参照してください.
2.データベースの作成
MySQLが提供するMySQL Workbenchツールを使用して簡単なデータベースmyscoresdbを構築し、データテーブルを作成してHIscoresと命名し、id、name、scoreの3つのデータを追加してユーザー名とスコアを保存します.プライマリ・キーはidです.このプロセスは簡単ですが、詳しくは言いません.
3.DLLファイルのインポート
これは私の悩みを解決する重要なステップです.
①Unityのインストールディレクトリを開き、\%インストールルートディレクトリ%\EditorDataMonolibmono2.0では、System.Data.dllとSystemDrawing.dllはUnityエンジニアリングディレクトリの下にあるAssetsファイルにコピーします.
②MySQLのインストールディレクトリを開き、\%ルートディレクトリをインストール%\Connector NET 6.5.4\Assemblies\v2.0でMySql.Data.dllはUnityエンジニアリングディレクトリの下にあるAssetsファイルにコピーします.
どのフォルダの下にあるMySqlを使いますか.Data.dllは具体的な必要に応じて、前に私が選んだのはv 4の下のMySqlです.Data.dll、結果としてMissingMethodException:Method not found:'System.Threading.Monitor.Enter’.
4.接続MySQLスクリプトを作成します.
Unityプロジェクトでc#スクリプトを作成し、Visual Studio 2010を使用してスクリプトを編集します.
まず3つのdllの参照を追加します.プロジェクト->参照の追加->ブラウズ、3つのdllをスムーズに追加します.
次に、接続スクリプトを作成します.
[csharp] view plain
copy
print ?
using UnityEngine;
using System;
using System.Collections;
using System.Data;
using MySql.Data.MySqlClient;
public class Test : MonoBehaviour
{
void Start()
{
string constr = “server=localhost;Database=myscoresdb;User Id=root;password=1111”;
//接続を確立する文//ローカルデータベースサーバがlocalhostの場合、そうでない場合はサーバのアドレスを入力します.
MySqlConnection mycon = new MySqlConnection(constr);//接続確立 mycon.Open();
//挿入命令 MySqlCommand mycmd = new MySqlCommand(“insert into hiscores(id,name,score) values(4,’lisi’,98)”, mycon);
if (mycmd.ExecuteNonQuery() > 0)
Debug.Log(”Insert success!”);
//問合せ命令 string selstr = “select * from hiscores”;
MySqlCommand myselect = new MySqlCommand(selstr, mycon);
DataSet ds = new DataSet();
try
{
MySqlDataAdapter da = new MySqlDataAdapter(selstr, mycon);
da.Fill(ds);
Debug.Log(”Query success!”);
print(ds.Tables[0].Rows[0][0]);
}
catch (Exception ee)
{
throw new Exception(“SQL: ” + selstr + “” + ee.Message.ToString());
}
mycon.Close();//接続を閉じる }
}
スクリプトを保存し、Unityでテストスクリプトをカメラに関連付けてテストします.
まだデータベースに接続できない場合は、TCP/IPプロトコルを起動して再試行できます.