Hi BigBoss123,
Please find my code structure below.
B4X:
#Region Project Attributes
#MainFormWidth: 800
#MainFormHeight: 600
' SQLite driver
#AdditionalJar: ucanaccess-5.0.0
#AdditionalJar: hsqldb-2.5.0
#AdditionalJar: jackcess-3.0.1-B4J
#AdditionalJar: jackcess-encrypt-3.0.0
#AdditionalJar: commons-logging-1.2
#AdditionalJar: commons-lang3-3.8.1
#AdditionalJar: bcprov-jdk15on-166
#AdditionalJar: jaxb-api-2.3.0
#AdditionalJar: jaxb-impl-2.1
#AdditionalJar: activation-2.2.1
#IgnoreWarnings: 15
#End Region
Variables declared in Process_Globals:
B4X:
Private gSQL As SQL
Private DBFile As String
Dim sSQL As String
Dim sDBpass As String
Function to Initialize the DB:
B4X:
Sub Database_Init As Boolean
Dim Result As Boolean = False
DBFile = File.DirData("PKDBServer") & "\" & "users.accdb"
sDBpass = "passpass"
sSQL = "jdbc:ucanaccess://" & DBFile & ";jackcessOpener=b4j.PKDBServer.main$MyOpener;memory=false;ignorecase=true;encrypt=true;COLUMNORDER=DISPLAY;singleconnection=true"
Try
Log(" Init sql connection...")
gSQL.Initialize2("net.ucanaccess.jdbc.UcanaccessDriver", sSQL,"", sDBpass)
Result = True
Catch
Log(LastException.Message)
End Try
Return Result
End Sub
JAVA code at the end of the MAIN page:
B4X:
#If Java
import java.io.File;
import java.io.IOException;
import net.ucanaccess.jdbc.JackcessOpenerInterface;
import com.healthmarketscience.jackcess.CryptCodecProvider;
import com.healthmarketscience.jackcess.Database;
import com.healthmarketscience.jackcess.DatabaseBuilder;
import java.sql.SQLException;
public static class MyOpener implements net.ucanaccess.jdbc.JackcessOpenerInterface {
public Database open(File fl,String pwd) throws IOException {
Database db = new DatabaseBuilder(fl).setCodecProvider(new CryptCodecProvider(pwd)).open();
return db;
}
}
#End If