Подключение из Unity3D к базе данных Firebird

Unity3D Firebird

Эта статья — пример подключения к базе данных 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 запроса:

Unity3D_FirebirdTestConnection

 

 

 

 

 

В среде разработки все это замечательно работает, но при попытке сделать билд под 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».

Запись опубликована в рубрике Без рубрики. Добавьте в закладки постоянную ссылку.

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *