SevgiliMS Access'in bir C# dll tarafından sağlanan bağlantıyı yeniden kullanması için ne gerekir?
Birisi bana MS Access'in bir C# dll tarafından sağlanan bağlantıyı yeniden kullanabilmesi için neyin gerekli olduğunu söyleyebilir mi?
.NET Framework v4.0.30319'da bir C# dll oluşturmaya çalışıyoruz.
Bu dll, MS Access bağlantılı tablolarımız tarafından yeniden kullanılan bir bağlantı sağlamalıdır.
Oracle DB'ye bağlantılar kurmayı başardık, ancak MS Access 'bağlantılı tabloları için bağlantıyı kullanmıyor. Genel kurulum şu şekildedir:
1. Bir Oracle veritabanına bağlantılı tablolar içeren Access 2013 veritabanımız var.
2. Bu tablolar MYDSNNAME olarak oluşturulan bir ODBC Kullanıcı DSN'si ile bağlanır. MS Access veritabanında, yukarıda belirtilen dll'ye bir başvuru var.
4. 'connect' işlevini dll'den çağırarak, kullanıcının kimlik bilgilerini kullanarak Oracle dabatase doğru bir bağlantı açılır.
5. Bağlantı açıldıktan sonra, MS Access bağlantıyı yeniden kullanmalı ve kullanıcı Access dosyasında bulunan bağlantılı tabloları ve aktarma sorgularını açabilir. kullanılan
Kodlama:
1. Bağlantılı tablolar 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 kod parçacığı: girişiniz için
// 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();
teşekkürler!
Hata iletileri var mı? Asıl sorun nedir? –
Neden bu kadar çok farklı bağlantı türlerini kullanıyorsunuz? –
Neden harici bir DLL kullanarak bir bağlantı kurmanız gerektiğini düşünüyorsunuz? Sadece giriş kimlik bilgilerini gizlemek mi? –