Unityとデータベース
今日はChatGptにデータベース構築のサポートをお願いしました。
Assetsストアで無料アセットとして提供されているSQLiterを選択。
SQLiterをUnityにインポート。
しかしそれだけだとダメで、https://sqlite.org/download.html から
ファイルをダウンロードし、該当するフォルダに入れる必要がある。
今回は、Android用に開発するので、Precompiled Binaries for Androidの
sqlite-android-3420000.aar をダウンロードし、これを取り敢えず
Assets/Plugins/SQLiter/DLLs/Android に置いてみる。
androidには、ARMv7とx86というフォルダが分かれているので、その直上。
他のフォルダはx86、x64の直下に置くということなので、
これにどういう不具合が発生するかは不明。取り敢えず進める。
1回目にSQLiterをUnityにインポートした時、Mono.Data.SqliteClientというファイルが見当たらずエラー。インポートし直しで表示されました。ここ注意。
今日はコネクトまでの目標なので、
using UnityEngine;
using System.Data;
using Mono.Data.SqliteClient;
public class DatabaseManager : MonoBehaviour
{
private void Start()
{
ConnectToDatabase();
}
private void ConnectToDatabase()
{
string databasePath = "URI=file:" + Application.persistentDataPath + "/testdatabase.db" ;
IDbConnection connection = new SqliteConnection(databasePath);
connection.Open();
if (connection.State == ConnectionState.Open)
{
Debug.Log("データベースへの接続に成功しました!");
// ここで必要なデータベース操作を実行することができます
}
else
{
Debug.LogError("データベースへの接続に失敗しました!");
}
connection.Close();
Debug.Log(Application.persistentDataPath);
}
}
Application.persistentDataPathは、ChatGpt曰く永続的にファイルを使う為にここに置くのを推奨とのこと。
他に置くとビルドした時に動かないためだそうです。
このフォルダは、
C:\Users\user\AppData\LocalLow\DefaultCompany/(該当するプロジェクト)
になります。
その直下にデータベース作られていました。
このデータベースはunityで直接見る事ができないので、
DB Blowser(SQLite)をダウンロード。
C:\Users\user\AppData\LocalLow\DefaultCompany/(該当するプロジェクト)/データベース
を開くと直接見ることも、クエリを作成することも可能です。
今日はここまでかな。