Эта статья — пример подключения к базе данных Firebird 2.5 и выполнения запросов из среды разработки Unity3D версии 4.3.
Кидаем в папку Assets библиотеку FirebirdSql.Data.FirebirdClient.dll (это ADO.NET Data Provider версии 2.5.2.0)
Кладем файл базы данных, с которой будем работать (у меня она находится «d:\unity3D\FirebirdTest\BASE.FDB»)
Вешаем скрипт подключения на любой удобный объект:
using UnityEngine; using System.Collections; using FirebirdSql.Data.FirebirdClient; public class Firebird : MonoBehaviour { void Start () { string ConnectionString = "UserID=SYSDBA;Password=masterkey;" + "Database=D:\\Unity3D\\FirebirdTest\\BASE.fdb; " + "DataSource=127.0.0.1;Charset=win1251;"; FbConnection Connection = new FbConnection(ConnectionString); Connection.Open(); Debug.Log("Удачно"); FbCommand readCommand = new FbCommand("select count(*) from RDB$RELATIONS",Connection); FbDataReader myreader = readCommand.ExecuteReader(); while (myreader.Read()) { Debug.Log(myreader[0]); } myreader.Close(); Connection.Close(); } }
Данный скрипт для примера выполняет подключение к БД, и выводит в лог два сообщения — первое об удачном соединении, а второе — результат выполнения SQL запроса:
В среде разработки все это замечательно работает, но при попытке сделать билд под windows систему получаем такую ошибку:
The Assembly System.Windows.Forms is referenced by FirebirdSql.Data.FirebirdClient. But the dll is not allowed to be included or could not be found.
Проблема решается изменением параметра File/Buildsettings/Playersettings/Othersettings -> Api Compatibility Level «net2.0 subset» на «net2.0».