Martin j
Martin j

Reputation: 521

Cant access the database sqlite in android and windows build, but in unity editor the data base is accessed

private string connectionString = "URI=file:" + Application.dataPath + "/Ooredoo_Nov16.sqlite";
void Start()
{
ClearDb ();
CreateDb ();
WriteToDb ("abc","a","1","10");
GetFromDb ();
}
private void WriteToDb(string code, string classs,string id,string status) 
{
using (IDbConnection dbConnection = new SqliteConnection (connectionString))
{
dbConnection.Open ();
using (IDbCommand dbCmd = dbConnection.CreateCommand ())
{
stringsqlQuery=String.Format(“insertintoQrCodeList(code,class,id,status)values(\”{0}\”,\”{1}\”,\”{2}\”,\”{3}\”)”,code,classs,id,status);
dbCmd.CommandText = sqlQuery;
dbCmd.ExecuteScalar ();
dbConnection.Close ();
}
}

like the function WriteToDb() i have also created function for ClearDb,CreateDb,GetFromDb

when i play it in unity it works perfectly but when i make a build in android and windows it is not accessing the database. As per the tutorial about set highscore data base in unity – https://www.youtube.com/watch?v=wV-dKxJU-0Y&list=PLX-uZVK_0K_7NmsYfe2BTOk_IamWC2kU3∈dex=4

i have already added all the dll ..still i cant access the database following dlls have been added libsqlite3, sqlite3, SQLite3.system.data

is this path -"URI=file:" + Application.dataPath + "/Ooredoo_Nov16.sqlite"; valid for builds

this is my output_log file for windows build

Begin MonoManager ReloadAssembly Platform assembly: C:\Users\Arjun\Desktop\projects recieved\Unity example - Copy\Spinner\SpinnerWindows_Data\Managed\UnityEngine.dll (this message is harmless) Loading C:\Users\Arjun\Desktop\projects recieved\Unity example - Copy\Spinner\SpinnerWindows_Data\Managed\UnityEngine.dll into Unity Child Domain Platform assembly: C:\Users\Arjun\Desktop\projects recieved\Unity example - Copy\Spinner\SpinnerWindows_Data\Managed\Assembly-CSharp-firstpass.dll (this message is harmless) Loading C:\Users\Arjun\Desktop\projects recieved\Unity example - Copy\Spinner\SpinnerWindows_Data\Managed\Assembly-CSharp-firstpass.dll into Unity Child Domain Platform assembly: C:\Users\Arjun\Desktop\projects recieved\Unity example - Copy\Spinner\SpinnerWindows_Data\Managed\Assembly-CSharp.dll (this message is harmless) Loading C:\Users\Arjun\Desktop\projects recieved\Unity example - Copy\Spinner\SpinnerWindows_Data\Managed\Assembly-CSharp.dll into Unity Child Domain Platform assembly: C:\Users\Arjun\Desktop\projects recieved\Unity example - Copy\Spinner\SpinnerWindows_Data\Managed\UnityEngine.UI.dll (this message is harmless) Loading C:\Users\Arjun\Desktop\projects recieved\Unity example - Copy\Spinner\SpinnerWindows_Data\Managed\UnityEngine.UI.dll into Unity Child Domain Platform assembly: C:\Users\Arjun\Desktop\projects recieved\Unity example - Copy\Spinner\SpinnerWindows_Data\Managed\UnityEngine.Networking.dll (this message is harmless) Loading C:\Users\Arjun\Desktop\projects recieved\Unity example - Copy\Spinner\SpinnerWindows_Data\Managed\UnityEngine.Networking.dll into Unity Child Domain Platform assembly: C:\Users\Arjun\Desktop\projects recieved\Unity example - Copy\Spinner\SpinnerWindows_Data\Managed\ICSharpCode.SharpZipLib.dll (this message is harmless) Loading C:\Users\Arjun\Desktop\projects recieved\Unity example - Copy\Spinner\SpinnerWindows_Data\Managed\ICSharpCode.SharpZipLib.dll into Unity Child Domain Platform assembly: C:\Users\Arjun\Desktop\projects recieved\Unity example - Copy\Spinner\SpinnerWindows_Data\Managed\LitJson.dll (this message is harmless) Loading C:\Users\Arjun\Desktop\projects recieved\Unity example - Copy\Spinner\SpinnerWindows_Data\Managed\LitJson.dll into Unity Child Domain Platform assembly: C:\Users\Arjun\Desktop\projects recieved\Unity example - Copy\Spinner\SpinnerWindows_Data\Managed\Mono.Data.Sqlite.dll (this message is harmless) Loading C:\Users\Arjun\Desktop\projects recieved\Unity example - Copy\Spinner\SpinnerWindows_Data\Managed\Mono.Data.Sqlite.dll into Unity Child Domain Platform assembly: C:\Users\Arjun\Desktop\projects recieved\Unity example - Copy\Spinner\SpinnerWindows_Data\Managed\System.Data.dll (this message is harmless) Loading C:\Users\Arjun\Desktop\projects recieved\Unity example - Copy\Spinner\SpinnerWindows_Data\Managed\System.Data.dll into Unity Child Domain - Completed reload, in 0.050 seconds Platform assembly: C:\Users\Arjun\Desktop\projects recieved\Unity example - Copy\Spinner\SpinnerWindows_Data\Managed\System.Core.dll (this message is harmless) Platform assembly: C:\Users\Arjun\Desktop\projects recieved\Unity example - Copy\Spinner\SpinnerWindows_Data\Managed\System.dll (this message is harmless) desktop: 1366x768 60Hz; virtual: 1366x768 at 0,0 Initializing input.

XInput1_3.dll not found. Trying XInput9_1_0.dll instead... Input initialized.

Initialized touch support.

UnloadTime: 0.708009 ms Platform assembly: C:\Users\Arjun\Desktop\projects recieved\Unity example - Copy\Spinner\SpinnerWindows_Data\Managed\System.Transactions.dll (this message is harmless) Platform assembly: C:\Users\Arjun\Desktop\projects recieved\Unity example - Copy\Spinner\SpinnerWindows_Data\Managed\System.Xml.dll (this message is harmless) SqliteException: SQLite error no such table: QrCodeList at Mono.Data.Sqlite.SQLite3.Prepare (Mono.Data.Sqlite.SqliteConnection cnn, System.String strSql, Mono.Data.Sqlite.SqliteStatement previous, UInt32 timeoutMS, System.String& strRemain) [0x00000] in :0 at Mono.Data.Sqlite.SqliteCommand.BuildNextCommand () [0x00000] in :0

(Filename: Line: -1)

Setting up 1 worker threads for Enlighten. Thread -> id: f78 -> priority: 1

Upvotes: 0

Views: 994

Answers (1)

bpgeck
bpgeck

Reputation: 1624

This is because there are DLL's in the editor that are not in your build. For accessing databases they are usually the following: I18N.dll, I18N.CJK.dll, I18N.MidEast.dll, I18N.Other.dll, I18N.Rare.dll, and I18N.West.dll. If you installed Unity in the default location, these can all be found at C:\Program Files\Unity\Editor\Data\Mono\lib\mono\2.0. Just create a new folder in your assets folder named "Plugins" and copy all the above DLL's into that new plugins folder.

Since you are using SQLite, you may also have to add the System.Data.dll from the same folder as stated above.

In the future, you should check your output_log.txt file for the exact error message. For a windows build this is found at EXECUTABLE_NAME_Data/output_log.txt

Upvotes: 1

Related Questions