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/(該当するプロジェクト)/データベース
を開くと直接見ることも、クエリを作成することも可能です。

今日はここまでかな。



いいなと思ったら応援しよう!

この記事が参加している募集