Es gibt verschiedene Möglichkeiten eine Verbindung zu einer Pervasive-Datenquelle herzustellen und
die Daten bzw. Tabellen an List & Label zu übergeben.
Möglichkeit 1: Über den combit.ListLabel??.DataProviders.OdbcConnectionDataProvider
Voraussetzung: ODBC Pervasive Treiber installiert und Datenquelle (DSN) eingerichtet.
Daten: Es wird die gesamte Datenbank angemeldet.
Einschränkung: Keine Relationen der Daten bzw. Tabellen.
Code:
using (ListLabel ll = new ListLabel())
{
OdbcConnection conn = new OdbcConnection("DSN=PSQLDSN;");
conn.Open();
OdbcConnectionDataProvider provider = new OdbcConnectionDataProvider(conn, "\"{0}\"");
ll.DataSource = provider;
ll.Design(LlProject.List | LlProject.FileAlsoNew);
conn.Close();
}
Möglichkeit 2: Über den ODBC Pervasive Treiber (Actian Corporation)
Voraussetzung: ODBC Pervasive Treiber installiert und Datenquelle (DSN) eingerichtet.
Daten: Eigene commands (SQL Queries).
Einschränkung: Keine uns bekannten.
Code:
using (ListLabel ll = new ListLabel())
{
OdbcConnection conn = new OdbcConnection("DSN=PSQLDSN;");
conn.Open();
OdbcCommand cmd = new OdbcCommand("select * from Tabelle1", conn);
OdbcCommand cmd2 = new OdbcCommand("select * from Tabelle2", conn);
DbCommandSetDataProvider provider = new DbCommandSetDataProvider();
provider.AddCommand(cmd, "Tabelle1");
provider.AddCommand(cmd2, "Tabelle2");
//relationen hinzufügen
provider.AddRelation("Tabelle12Tabelle2", "Tabelle1", "Tabelle2", "ID", "Tabelle1ID");
ll.DataSource = provider;
ll.Design(LlProject.List | LlProject.FileAlsoNew);
conn.Close();
}
Möglichkeit 3: Über den Pervasive PSQL ADO.NET Data Provider (Actian Corporation)
Voraussetzung: Pervasive.Data.SqlClient Assembly im Projekt eingebunden.
Daten: Eigene commands (SQL Queries).
Einschränkung: Keine uns bekannten.
Code:
using (ListLabel ll = new ListLabel())
{
PsqlConnection conn = new PsqlConnection(@"Server Name=myServerAddress;Database Name=myDataBase;User ID=myUsername;Password = myPassword; ");
PsqlCommand cmd = new PsqlCommand("Select * from Tabelle1");
PsqlCommand cmd2 = new PsqlCommand("Select * from Tabelle2");
DbCommandSetDataProvider provider = new DbCommandSetDataProvider();
provider.AddCommand(cmd, "Tabelle1");
provider.AddCommand(cmd2, "Tabelle2");
//relationen hinzufügen
provider.AddRelation("Tabelle12Tabelle2", "Tabelle1", "Tabelle2", "ID", "Tabelle1ID");
ll.DataSource = provider;
ll.Design(LlProject.List | LlProject.FileAlsoNew);
conn.Close();
}