親愛なるMS AccessがC#dllによって提供される接続を再利用するために必要なものは何ですか?
誰かがMS AccessがC#dllで提供されている接続を再利用するために必要なことを教えてもらえますか?
.NET Framework v4.0.30319でC#dllをビルドしようとしています。
このDLLは、MS Accessのリンクテーブルによって再利用される接続を提供する必要があります。
Oracle DBへの接続を設定することができますが、MS Accessはそのリンクテーブルに接続を使用しません。 全体の設定は次のとおりです。
1. Oracleデータベースへのリンクテーブルを含むAccess 2013データベースがあります。
2.これらのテーブルは、MYDSNNAMEとして作成されたODBCユーザーDSNを介してリンクされています。
3. MS Accessデータベースには、前述のdllへの参照があります。
4. dllから 'connect'関数を呼び出すと、ユーザーの資格情報を使用してOracle dabataseへの接続が開かれます。
5.接続が開いたら、MS Accessは接続を再利用し、ユーザーはAccessファイルで使用可能なリンクテーブルとパススルークエリを開くことができます。使用されている
コーディング:
1.リンクされたテーブルはのConnectionString:
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のコードスニペット:あなたの入力のための
// 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();
ありがとう!
エラーメッセージはありますか?実際の問題は何ですか? –
なぜさまざまな接続タイプを使用していますか? –
なぜ外部DLLを使用して接続を確立する必要があると感じますか?ログイン資格情報を隠すだけですか? –