




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
第C#使用ADO.Net連接數(shù)據(jù)庫與DbProviderFactory實(shí)現(xiàn)多數(shù)據(jù)庫訪問(1)SQLSever
標(biāo)準(zhǔn)安全:Driver={SQLServer};Server=Aron1;Database=pubs;Uid=sa;Pwd=asdasd;
信任的連接:Driver={SQLServer};Server=Aron1;Database=pubs;Trusted_Connection=yes;
(2)SQLNativeClientODBCDriver(=SQLServer2005)
標(biāo)準(zhǔn)安全Driver={SQLNativeClient};Server=Aron1;Database=pubs;UID=sa;PWD=asdasd;
信任的連接
Driver={SQLNativeClient};Server=Aron1;Database=pubs;Trusted_Connection=yes;--IntegratedSecurity=SSPI等同于Trusted_Connection=yes
(3)Oracle:
新版本:Driver={MicrosoftODBCforOracle};Server=OracleServer.world;Uid=Username;Pwd=asdasd;
舊版本:Driver={MicrosoftODBCDriverforOracle};ConnectString=OracleServer.world;Uid=myUsername;Pwd=myPassword;
(4)Access:
標(biāo)準(zhǔn)安全:Driver={MicrosoftAccessDriver(*.mdb)};Dbq=C:\mydatabase.mdb;Uid=Admin;Pwd=;
2、OleDbConnection(System.Data.OleDb)
(1)SQLSever
標(biāo)準(zhǔn)安全:Provider=sqloledb;DataSource=Aron1;InitialCatalog=pubs;UserId=sa;Password=asdasd;
信任的連接:
Provider=sqloledb;DataSource=Aron1;InitialCatalog=pubs;IntegratedSecurity=SSPI;
(useserverName\instanceNameasDataSourcetouseanspecifikSQLServerinstance,onlySQLServer2000)
(2)SQLNativeClientOLEDBProvider(=SQLServer2005)
標(biāo)準(zhǔn)安全:Provider=SQLNCLI;Server=Aron1;Database=pubs;UID=sa;PWD=asdasd;
信任的連接:
Provider=SQLNCLI;Server=Aron1;Database=pubs;Trusted_Connection=yes;--IntegratedSecurity=SSPI等同于Trusted_Connection=yes
(3)Oracle:
標(biāo)準(zhǔn)安全:
Provider=msdaora;DataSource=MyOracleDB;UserId=UserName;Password=asdasd;
ThisonesfromMicrosoft,thefollowingarefromOracle
標(biāo)準(zhǔn)安全:Provider=OraOLEDB.Oracle;DataSource=MyOracleDB;UserId=Username;Password=asdasd;
信任的連接:Provider=OraOLEDB.Oracle;DataSource=MyOracleDB;OSAuthent=1;
(4)Access:
標(biāo)準(zhǔn)安全:
Provider=Microsoft.Jet.OLEDB.4.0;DataSource=\somepath\mydb.mdb;UserId=admin;Password=;
3、SqlConnection(Syste.Data.SqlClient)SQL專用
標(biāo)準(zhǔn)安全:
DataSource=Aron1;InitialCatalog=pubs;UserId=sa;Password=asdasd;
-或者-Server=Aron1;Database=pubs;UserID=sa;Password=asdasd;Trusted_Connection=False
信任的連接:
DataSource=Aron1;InitialCatalog=pubs;IntegratedSecurity=SSPI;
-或者-
Server=Aron1;Database=pubs;Trusted_Connection=True;(useserverName\instanceNameasDataSourcetouseanspecifikSQLServerinstance,僅僅適用于SQLServer2000)
4、OracleConnection(System.Data.OracleClient\Oracle.ManagedDataAccess.Client)Oracle專用
標(biāo)準(zhǔn)安全:
DataSource=MyOracleDB;IntegratedSecurity=yes;--ThisoneworksonlywithOracle8irelease3orlater
指定用戶名和密碼:
DataSource=MyOracleDB;UserId=username;Password=passwd;IntegratedSecurity=no;--ThisoneworksonlywithOracle8irelease3orlater
指定主機(jī):
DataSource=(DESCRIPTION=(ADDRESS_LIST=(ADDRESS=(PROTOCOL=TCP)(HOST=3)(PORT=1521)))(CONNECT_DATA=(SERVICE_NAME=testDemo)));UserId=oracle_test;Password=oracle
其中Oracle數(shù)據(jù)庫服務(wù)器IP:3
ServiceName:testDemo
用戶名:oracle_test
密碼:oracle
二、利用DbProviderFactory創(chuàng)建各種ADO.Net對(duì)象
DbProviderFactory是一個(gè)工廠類,工廠類的作用提供其他一系列相互之間有關(guān)系的類。在這里,DbProviderFactory就自動(dòng)生成了包括DbConnection、DbCommand、DbDataAdapter等一系列數(shù)據(jù)庫操作的相關(guān)類。
1、配置文件ConnectionString節(jié):
configuration
connectionStrings
addname="default"connectionString="server=localhost;userid=sa;password=******;database=northwind"
providerName="System.Data.SqlClient"/
/connectionStrings
/configuration
2、利用DbProviderFactory類自動(dòng)查找數(shù)據(jù)庫的驅(qū)動(dòng)
ConnectionStringSettingssettings=ConfigurationManager.ConnectionStrings["default"];
DbProviderFactoryprovider=DbProviderFactories.GetFactory(settings.ProviderName);
3、利用DbProviderFactory類實(shí)例創(chuàng)建各種ADO.Net對(duì)象。
using(DbConnectionconn=provider.CreateConnection())
conn.ConnectionString=settings.ConnectionString;
conn.Open();
DbCommandcmd=conn.CreateCommand();
cmd.CommandText="Selecttop10*FromShortTermBill";
//使用DbDataAdapter
DbDataAdapterda=provider.CreateDataAdapter();
da.SelectCommand=cmd;
DataSetds=newDataSet();
da.Fill(ds);
da.Dispose();
Console.WriteLine(ds.Tables[0].Rows[0]["BillCode"]);
//使用DbDataReader
DbDataReaderreader=cmd.ExecuteReader()
while(reader.Read())
Console.WriteLine(reader.GetString(0));
conn.Close();
}
三、利用DbConnection獲取數(shù)據(jù)庫架構(gòu)信息
SQLServer架構(gòu)集合-ADO.NET|Microsoft官方文檔
classProgram
staticvoidMain()
stringconnectionString=GetConnectionString();
using(SqlConnectionconnection=newSqlConnection(connectionString))
//Connecttothedatabasethenretrievetheschemainformation.
connection.Open();string[]columnRestrictions=newString[4];
//Forthearray,0-memberrepresentsCatalog;1-memberrepresentsSchema;
//2-memberrepresentsTableName;3-memberrepresentsColumnName.
//NowwespecifytheTable_NameandColumn_Nameofthecolumnswhatwewanttogetschemainformation.
columnRestrictions[2]="Device";
DataTabledepartmentIDSchemaTable=connection.GetSchema("Columns",columnRestrictions);
ShowColumns(departmentIDSchemaTable);
privatestaticstringGetConnectionString()
//Toavoidstoringtheconnectionstringinyourcode,
//youcanretrieveitfromaconfigurationfile.
return"server=;Database=TPM;user=it;pwd=;ApplicationIntent=ReadOnly;MultiSubnetFailover=True";
privatestaticvoidShowColumns(DataTablecolumnsTable)
varselectedRows=frominfoincolumnsTable.AsEnumerable()
selectnew
TableCatalog=info["TABLE_CATALOG"],
TableSchema=info["TABLE_SCHEMA"],
TableName=info["TABLE_NAME"],
ColumnName=info["COLUMN_NAME"],
DataType=info["DATA_TYPE"],
ORDINAL_POSITION=info["ORDINAL_POSITION"],
COLUMN_DEFAULT=info["COLUMN_DEFAULT"],
IS_NULLABLE=info["IS_NULLABLE"],
CHARACTER_MAXIMUM_LENGTH=info["CHARACTER_MAXIMUM_LENGTH"],
NUMERIC_PRECISION=info["NUMERIC_PRECISION"],
NUMERIC_SCALE=info["NUMERIC_SCALE"],
DATETIME_PRECISION=info["DATETIME_PRECISION"],
Console.WriteLine("{0,-15},{1,-15},{2,-15},{3,-15},{
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 仙桃職業(yè)學(xué)院《材料基礎(chǔ)化學(xué)實(shí)驗(yàn)》2023-2024學(xué)年第二學(xué)期期末試卷
- 山西省同煤二中2025屆高三年級(jí)第一次教學(xué)質(zhì)量診斷性聯(lián)合考試語文試題含解析
- 三亞市白沙黎族自治縣2025年數(shù)學(xué)三下期末經(jīng)典試題含解析
- 山東省寧陽縣市級(jí)名校2024-2025學(xué)年初三第二學(xué)期月考試卷(二)英語試題含答案
- 山東省濰坊市高密市2025屆初三年級(jí)第二學(xué)期調(diào)研考試數(shù)學(xué)試題含解析
- 廈門理工學(xué)院《社會(huì)救助與社會(huì)福利》2023-2024學(xué)年第二學(xué)期期末試卷
- 南通科技職業(yè)學(xué)院《工程光學(xué)設(shè)計(jì)(雙語)》2023-2024學(xué)年第二學(xué)期期末試卷
- 江蘇省啟東匯龍中學(xué)2025年初三第二次調(diào)研考試(物理試題文)試卷含解析
- 山東濱州陽信縣2025屆初三10份綜合模擬檢測(cè)試題含解析
- 綠色能源新能源汽車充電樁場(chǎng)地租賃與智能充電設(shè)備安裝協(xié)議
- 鋁加工深井鑄造培訓(xùn)
- 國(guó)家中小學(xué)智慧教育平臺(tái)應(yīng)用指南
- 2025年廣告設(shè)計(jì)師(高級(jí))職業(yè)資格認(rèn)定參考試題庫(含答案)
- 2025年軍隊(duì)文職-收發(fā)員兼通信員技術(shù)考點(diǎn)精練必做300題(含答案)
- 2025年高中語文高考作文押題預(yù)測(cè)十篇
- 學(xué)生心理健康一生一策檔案表
- 外研版(三起)(2024)三年級(jí)下冊(cè)英語Unit 5 單元測(cè)試卷(含答案)
- 國(guó)家義務(wù)教育質(zhì)量監(jiān)測(cè)八年級(jí)美術(shù)樣卷
- 畜牧業(yè)人才培養(yǎng)的新機(jī)遇與發(fā)展路徑
- 環(huán)境監(jiān)測(cè)信息化建設(shè)-深度研究
- 植物蛋白資源利用-深度研究
評(píng)論
0/150
提交評(píng)論