我想編寫和部署一些軟件,而不需要在用戶的工作站上安裝Oracle驅動程序,而是想將所需的所有內容複製到網絡位置,用戶從那裏啓動。C#.NET 4獨立的Oracle驅動程序部署
我已成功建立OracleConnection
,將以下內容部署到應用程序的文件夾中。 (我把這些從Oracle提供instantclient-basiclite-NT-11.2.0.3.0)
oci.dll
ociw32.dll
orannzsbb11.dll
oraocci11.dll
oraociicus11.dll
我發現這工作與LDAP查詢來建立連接字符串的DataSource=
一部分。我使用的代碼如下 - 我希望這對某人有用。
List<string> LDAPServers
string OracleInstance
private string GetOracleNetDescriptor()
{
string result = null;
foreach (string ldapserver in LDAPServers)
{
try
{
DirectoryEntry de = new DirectoryEntry(String.Format("LDAP://{0}", ldapserver), null, null, AuthenticationTypes.Anonymous);
DirectorySearcher ds = new DirectorySearcher(de);
ds.PropertiesToLoad.Add("orclnetdescstring");
ds.SearchScope = SearchScope.Subtree;
ds.Filter = String.Format("(CN={0})", OracleInstance);
SearchResult sr = ds.FindOne();
if (sr != null)
{
result = Encoding.Default.GetString(sr.Properties["orclnetdescstring"][0] as byte[]);
break;
}
}
catch
{
result = null;
}
}
if (result == null)
throw new Exception(String.Format("Failed To Identify Oracle Instance '{0}' From LDAP", OracleInstance));
else
return result;
}
到目前爲止好,但是......
的解決方案是目前依賴於棄用
System.Data.OracleClient
,我真的需要一個參考/要避免我想獲得一些高級功能,如實體框架。
面板可以提醒嗎?
我也很感激上面的ldap代碼的任何意見,因爲這是所有工作中的進展。
它確實在您已鏈接的頁面上說它與EF兼容:http://www.devart.com/dotconnect/entityframework.html – Bridge
謝謝,但第三方解決方案在這種情況下不適合我。 –