.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資料庫伺服器在同一台機器,解決方案相同。