萬盛學電腦網

您现在的位置: 萬盛學電腦網 >> 程式設計 >  >> 資料庫 >> MySQL 教學

Unity3D 連接 SQL Server 資料庫:System.Data.dll 手動引用與 C# 連線範例

Unity 專案需存取 SQL Server 時,可直接引用 .NET Framework 的 System.Data.dll 使用 SqlConnection,無需額外 NuGet 套件。

操作步驟

  1. 尋找組件:C:\Program Files\Unity\Editor\Data\Mono\lib\mono\unity\System.Data.dll (路徑視 Unity 安裝位置而異)。
  2. 複製至專案:放入 Assets/Plugins/ 目錄 (建立若不存在)。
  3. Visual Studio 專案加入參考:右鍵 References → Add Reference → Browse 選取該 DLL。
  4. 命名空間:
    using System.Data;
    using System.Data.SqlClient;
    

連線程式碼範例

using UnityEngine;
using System.Data.SqlClient;

public class SqlTest : MonoBehaviour
{
    void Start()
    {
        string connStr = @"Server=.;Database=ConnectTest;User ID=sa;Password=123456;";
        // ⚠️ 必須啟用「SQL Server 和 Windows 驗證模式」,純 Windows 驗證會失敗

        using (var con = new SqlConnection(connStr))
        {
            con.Open();
            using (var cmd = new SqlCommand("SELECT * FROM table1", con))
            using (var reader = cmd.ExecuteReader())
            {
                if (reader.Read())
                {
                    Debug.Log("First column: " + reader[0]);
                }
            }
        }
    }
}

執行結果驗證

Console 輸出第一欄資料,證明連線成功。

注意事項

  • Unity 使用 Mono 執行環境,System.Data 為 .NET 2.0 子集,功能完整支援 ADO.NET 核心類別。
  • IL2CPP 編譯腳本後端同樣支援,但需確保 link.xml 保留 System.Data 組件不被裁剪。
  • 生產環境建議改用連線池、參數化查詢、非同步 ExecuteReaderAsync 避免主執行緒卡頓。
  • 跨平台 (Android/iOS) 需確認目標平台支援 System.Data.SqlClient,否則改用 Microsoft.Data.SqlClient 或 REST API 間接存取。
copyright © 萬盛學電腦網 all rights reserved