一、
問題描述
在開發c#.net客戶端程式時,使用了odac連線資料庫,其開發環境需要安裝odp.net外掛程式,實際上是安裝了乙個oracle client。其連線oracle的字串直接配置到了這個oracle client下的配置檔案中(%ora_home%\client_1\network\tnsnames.ora)中,資訊如下:
hjsysdb =由於連線字串的ip和資料庫例項需要在這個特定檔案中配置,與所開發的客戶端程式分離,對於專案的部署來說多出了兩步:1)oracle客戶端的安裝(480m多);2)資料庫連線的手動配置。(description =
(address = (protocol = tcp)(host = 192.168.18.52)(port = 1521))
(connect_data =
(server = dedicated)
(service_name = orcl)
))
為減少多餘的安裝過程以及便於將資料庫連線的配置放置到專案程式中,使程式部署更簡單化,需要一種免oracle客戶端的安裝部署方法。
二、問題解決
直接使用odp.net提供的動態庫(最小支援),放置到專案啟動目錄下,如下檔案:
oci.dllociw32.dll
oracle.dataaccess.dll
oraocci11.dll
oraociei11.dll
oraops11w.dll
由於沒有使用oracle客戶端的連線例項,在程式中的連線需要做特別指定資料庫連線的ip和資料庫例項資訊,如下所示:
string connectionstring =" data source=(description=(address=(protocol=tcp)"
+ "(host=192.168.18.52)(port=1521))"
+ "(connect_data=(service_name=orcl)));"
+ "user id=data;password=data;";
using (oracleconnection connection = new oracleconnection(connectionstring))
使用免安裝的方法後,實體集的連線字串也需要做相應的修改,其中改變的主要內容是data source的配置,其中包括了資料庫伺服器的ip位址以及資料庫例項。
三、問題總結
1、使用odp.net提供的oracle.dataaccess.dll時,需要注意連線伺服器的oracle版本及程式所部署系統的版本問題。
2、web
程式的相關配置與此方法大致相同。
plsqldev免安裝oracle客戶端方法
網上 google了下,plsqldev免安裝oracle客戶端方法。試了下果然可以 2.解壓開instantclient.10.2.0.4.rar,在其目錄下建立network admin子目錄 3.tnsnames.ora拷貝到network admin目錄下 4.啟動plsqldev.exe,...
免安裝Oracle客戶端使用PL SQL
利用oracle 提供的instant client package可以不需安裝oracle客戶端連線oracle伺服器。此工具包不需安裝,只要解壓到任意路徑即可,在重灌系統之後也能繼續用。因為plsql主要需要用到oracle的oci來和伺服器端通訊。將instant client package...
免安裝Oracle客戶端使用PL SQL
先從 instant client對應的版本 解壓到你想要的安裝路徑我的是 d program files instantclient 12 1 將你配置好的tnsnames.ora拷貝到d program files instantclient 12 1 network admin下面沒有netw...