ASP.NET串連ACCESS、SqlServer以及Oracle資料庫的web.config內路徑最優寫法

來源:互聯網
上載者:User

.net中提供了四種資料庫連接方式:
System.Data.OleDb.OleDbConnection
System.Data.SqlClient.SqlConnection
System.Data.Odbc.OdbcConnection
System.Data.OracleClient.OracleConnection
ACCESS:
<appSettings>
<add key="SQLConnString" value="provider=microsoft.jet.oledb.4.0;Password=Admin;
User ID=Admin;data source="/>
<add key="dbPath" value="~/App_Data/mydata.mdb"/>
</appSettings>
程式中:資料訪問類中把"SQLConnString"和"dbPath"取出來串連成一個字串"CONN_STRING_NON_DTC"
public static readonly string CONN_STRING_NON_DTC = System.Configuration.ConfigurationManager.AppSettings["SQLConnString"].ToString() + System.Web.HttpContext.Current.Server.MapPath(ConfigurationManager.AppSettings["dbPath"]) + ";";
SqlClient:
方法(1):<connectionStrings>
<add name="SQLConnString" connectionString="Data Source=localhost;Integrated     Security=True;AttachDbFilename=|DataDirectory|pubs.mdf;User Instance=True" providerName="System.Data.SqlClient"/>
       </connectionStrings>
方法(2):<connectionStrings>
<add name="SQLConnString" connectionString="Server=localhost;
Integrated Security=True;Database=pubs;Persist Security Info=True"
providerName="System.Data.SqlClient" />
       </connectionStrings>
程式中:
要using System.Data.SqlClient;
string connectionString =ConfigurationManager.ConnectionStrings["SQLConnString"].ConnectionString;
SqlServer通用介面:
方法(1):<appSettings>
    <add key="SQLConnection" value="Server=(local);Integrated Security=SSPI;database=Pubs"/>
</appSettings>
方法(2):<appSettings>
    <add key="SQLConnection" value="Data Source=localhost;Integrated Security=SSPI;uid=sa;pwd=passwords;Initial Catalog=Pubs;"/>
</appSettings>
SqlServer專屬介面(SqlServer自身提供):
<appSettings>
    <add key="SQLConnection" value="Provider=SQLOLEDB;User Id=sa;Password=office;Initial    Catalog=office;server=localhost;"/>
</appSettings>
Oracle專用介面(oracle自身提供):
方法(1):<appSettings>
    <add key="ORACLEConnectionString" value="Provider=OraOLEDB.Oracle.1;
Persist Security Info=False;Password=blah;User ID=greg;Data Source=sph;" /> 
<appSettings>

Oracle通用介面:
方法(2):
<appSettings>
    <add key="ORACLEConnectionString" value="Provider=MSDAORA;Password=tiger;User ID=scott; Data Source=sph;Persist Security Info=False;Integrated Security=yes" /> 
<appSettings>
OracleClient:
<appSettings>  
    <add key="ConnectionString" value="Data Source=testDB;User ID=scott;Password=tiger;" />  </appSettings>

串連oracle10g免安裝用戶端解決辦法

首先,在安裝ORACLE伺服器的機器上搜尋下列檔案,
oci.dll
ocijdbc10.dll
ociw32.dll
orannzsbb10.dll
oraocci10.dll
oraociei10.dll
sqlnet.ora
tnsnames.ora
classes12.jar
ojdbc14.jar
   
製作成壓縮檔,配置目標電腦使用。

1.將oracleinstantclient.rar解壓縮到一個目錄, 如d:\oracleinstantclient

2.配置d:\oracleinstantclient的tnsnames.ora檔案,只需要修改其中的伺服器位址、服務名稱和連接埠。

3、配置環境變數,在PATH變數中加入d:\oracleinstantclient

4、註冊表加入下面索引值      

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Environment]

"LD_LIBRARY_PATH"="d:\OracleInstantClient"

"NLS_LANG"="AMERICAN_AMERICA.ZHS16GBK"

"TNS_ADMIN"="d:\OracleInstantClient"

5、如果是ASP.NET應用,則要為ASPNET使用者指派d:\oracleinstantclient檔案夾的讀寫權限。

通過上面的設定後,即可實現免安裝ORACLE用戶端,串連到ORACLE資料庫伺服器。

也可以將上面解壓縮後的檔案和手動過程製作成安裝包,實現自動安裝。

注意(串連報錯的的話):

1、IUSR_電腦名稱(Internet   來賓帳號) "、 "IWAW_電腦名稱(啟動IIS進程帳號) "   兩個帳號添到oracle中,並給了完全控制的許可權.
 
2、找到安裝oracle目錄->右鍵->屬性->安全,然後:      
    (1)許可權->“用在此顯示的可以應用到子物件的項目替代所有子物件的許可權項目”選上      
    (2)審核->“用在此顯示的可以應用到子物件的項目替代所有子物件的許可權項目”選上      
    (3)所有者->“替換子容器及對象的所有者”選上
方法一:

1、以Administrator許可權登入Windows.

2、找到ORACLE安裝目錄,如C:\Oracle

右鍵快顯功能表,選擇該目錄共用與安全(Win2000下要點擊屬性)

點擊 “安全” 頁簽,在組和使用者名稱稱中,添加ASP.NET使用者。並在列表中點擊“Asp.net” 項,在該使用者的許可權列表中,將“讀取和運行”的選擇框置為不選中狀態,然後“應

用”;

再次點擊“讀取和運行”的選擇框,將其設定為選中狀態,然後“應用”。

3、點擊“進階”按鈕,並在許可權項目中選定“Asp.net是否擁有“讀取並運行”許可權並應用於“該檔案夾,及子檔案夾和檔案”。最好重新啟動機器,測試連接是否已經正常

了。

4、regsvr32 D:\oracle\10.2.0\db\BIN\OraOLEDB10.dll

如果方法一仍然不能正常串連,參照方法二

方法二:

使用前面講的免安裝ORACLE用戶端的方法配置好oracle串連,為ASPNET戶分配oracleinstantclient解壓縮後檔案夾的讀取許可權,去掉ASPNET使用者對ORACLE主目錄的讀取許可權,

同樣可使ASP.NET應用訪問ORACLE資料庫。同時並不與已經安裝的ORACLE用戶端衝突。

 註:如果ASP.NET應用和ORACLE資料庫伺服器在同一台機器,解決方案相同。

 

 

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.