Kann mir bitte jemand sagen, was für MS Access benötigt wird, um die von einer C# -Dll gelieferte Verbindung wiederzuverwenden?Was ist für MS Access erforderlich, um die von einer C# -Dll gelieferte Verbindung wiederzuverwenden?
Wir versuchen, eine C# -Dll in .NET Framework v4.0.30319 zu erstellen.
Diese DLL sollte eine Verbindung bereitstellen, die von unseren verknüpften MS Access-Tabellen wiederverwendet wird.
Wir schaffen Verbindungen zur Oracle DB, aber MS Access verwendet die Verbindung nicht für die verknüpften Tabellen. Die gesamte Einrichtung ist wie folgt:
1. Wir haben eine Access 2013-Datenbank, die verknüpfte Tabellen mit einer Oracle-Datenbank enthält.
2. Diese Tabellen sind über eine ODBC-Benutzer-DSN verknüpft, die als MYDSNNAME erstellt wird.
3. In der MS Access-Datenbank gibt es einen Verweis auf die oben erwähnte DLL.
4. Durch Aufruf der 'connect' Funktion von der DLL wird eine Verbindung zur Oracle Datenbank mit den Zugangsdaten des Benutzers hergestellt.
5. Sobald die Verbindung geöffnet ist, sollte MS Access die Verbindung erneut verwenden und der Benutzer kann die verknüpften Tabellen und Pass-Through-Abfragen öffnen, die in der Access-Datei verfügbar sind.
Codierung, die verwendet wird:
1. verlinkte Tabellen Connection:
ODBC;DSN=MYDSNNAME;DBQ=MyOracleDB;DBA=W;APA=T;EXC=F;FEN=T;QTO=F;FRC=10;FDL=10;LO=T;
RST=T;BTD=F;BNF=F;BAM=IfAllSuccessful;NUM=NLS;DPM=F;MTS=T;MDI=F;CSR=F;FWC=F;FBS=64000;
TLO=O;MLD=0;ODA=F;;TABLE=ORACLE_TABLE_NAME
2. C# DLL-Code-Snippet:
// Ole DB
public System.Data.OleDb.OleDbConnection cnOleDb;
public Oracle.DataAccess.Client.OracleConnection cnOracleDataAccess;
public Devart.Data.Oracle.OracleConnection cndevArt;
string sConnect = "Provider=MSDAora.1;Password=strong_password;
User ID=strong userid;
Data Source=<MyOracleDB>;Persist Security Info=true";
cnOleDb = new System.Data.OleDb.OleDbConnection(sConnect);
sConnect = "Password=strong_password;User ID=strong userid;
Data Source=MyOracleDB;Persist Security Info=true";
cnOracleDataAccess = new Oracle.DataAccess.Client.OracleConnection(sConnect);
cndevArt = new Devart.Data.Oracle.OracleConnection(sConnect);
cnOleDb.Open();
cnOracleDataAccess.Open();
cndevArt.Open();
//ODBC
string wConnect = "DSN=MYDSNNAME;UID=strong_ID;PWD=strong_PWD";
cnODBC = new OdbcConnection(wConnect);
cnODBC.Open();
Vielen Dank für Ihre Eingabe!
Alle Fehlermeldungen? Was ist das eigentliche Problem? –
Warum verwenden Sie so viele verschiedene Verbindungstypen? –
Warum möchten Sie eine Verbindung mit einer externen DLL herstellen? Ist es einfach, die Anmeldedaten zu verbergen? –