




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第C#使用ADO.Net连接数据库与DbProviderFactory实现多数据库访问(1)SQLSever
标准安全:Driver={SQLServer};Server=Aron1;Database=pubs;Uid=sa;Pwd=asdasd;
信任的连接:Driver={SQLServer};Server=Aron1;Database=pubs;Trusted_Connection=yes;
(2)SQLNativeClientODBCDriver(=SQLServer2005)
标准安全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:
标准安全:Driver={MicrosoftAccessDriver(*.mdb)};Dbq=C:\mydatabase.mdb;Uid=Admin;Pwd=;
2、OleDbConnection(System.Data.OleDb)
(1)SQLSever
标准安全:Provider=sqloledb;DataSource=Aron1;InitialCatalog=pubs;UserId=sa;Password=asdasd;
信任的连接:
Provider=sqloledb;DataSource=Aron1;InitialCatalog=pubs;IntegratedSecurity=SSPI;
(useserverName\instanceNameasDataSourcetouseanspecifikSQLServerinstance,onlySQLServer2000)
(2)SQLNativeClientOLEDBProvider(=SQLServer2005)
标准安全: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:
标准安全:
Provider=msdaora;DataSource=MyOracleDB;UserId=UserName;Password=asdasd;
ThisonesfromMicrosoft,thefollowingarefromOracle
标准安全:Provider=OraOLEDB.Oracle;DataSource=MyOracleDB;UserId=Username;Password=asdasd;
信任的连接:Provider=OraOLEDB.Oracle;DataSource=MyOracleDB;OSAuthent=1;
(4)Access:
标准安全:
Provider=Microsoft.Jet.OLEDB.4.0;DataSource=\somepath\mydb.mdb;UserId=admin;Password=;
3、SqlConnection(Syste.Data.SqlClient)SQL专用
标准安全:
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专用
标准安全:
DataSource=MyOracleDB;IntegratedSecurity=yes;--ThisoneworksonlywithOracle8irelease3orlater
指定用户名和密码:
DataSource=MyOracleDB;UserId=username;Password=passwd;IntegratedSecurity=no;--ThisoneworksonlywithOracle8irelease3orlater
指定主机:
DataSource=(DESCRIPTION=(ADDRESS_LIST=(ADDRESS=(PROTOCOL=TCP)(HOST=3)(PORT=1521)))(CONNECT_DATA=(SERVICE_NAME=testDemo)));UserId=oracle_test;Password=oracle
其中Oracle数据库服务器IP:3
ServiceName:testDemo
用户名:oracle_test
密码:oracle
二、利用DbProviderFactory创建各种ADO.Net对象
DbProviderFactory是一个工厂类,工厂类的作用提供其他一系列相互之间有关系的类。在这里,DbProviderFactory就自动生成了包括DbConnection、DbCommand、DbDataAdapter等一系列数据库操作的相关类。
1、配置文件ConnectionString节:
configuration
connectionStrings
addname="default"connectionString="server=localhost;userid=sa;password=******;database=northwind"
providerName="System.Data.SqlClient"/
/connectionStrings
/configuration
2、利用DbProviderFactory类自动查找数据库的驱动
ConnectionStringSettingssettings=ConfigurationManager.ConnectionStrings["default"];
DbProviderFactoryprovider=DbProviderFactories.GetFactory(settings.ProviderName);
3、利用DbProviderFactory类实例创建各种ADO.Net对象。
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获取数据库架构信息
SQLServer架构集合-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等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 仙桃职业学院《材料基础化学实验》2023-2024学年第二学期期末试卷
- 山西省同煤二中2025届高三年级第一次教学质量诊断性联合考试语文试题含解析
- 三亚市白沙黎族自治县2025年数学三下期末经典试题含解析
- 山东省宁阳县市级名校2024-2025学年初三第二学期月考试卷(二)英语试题含答案
- 山东省潍坊市高密市2025届初三年级第二学期调研考试数学试题含解析
- 厦门理工学院《社会救助与社会福利》2023-2024学年第二学期期末试卷
- 南通科技职业学院《工程光学设计(双语)》2023-2024学年第二学期期末试卷
- 江苏省启东汇龙中学2025年初三第二次调研考试(物理试题文)试卷含解析
- 山东滨州阳信县2025届初三10份综合模拟检测试题含解析
- 绿色能源新能源汽车充电桩场地租赁与智能充电设备安装协议
- 铝加工深井铸造培训
- 国家中小学智慧教育平台应用指南
- 2025年广告设计师(高级)职业资格认定参考试题库(含答案)
- 2025年军队文职-收发员兼通信员技术考点精练必做300题(含答案)
- 2025年高中语文高考作文押题预测十篇
- 学生心理健康一生一策档案表
- 外研版(三起)(2024)三年级下册英语Unit 5 单元测试卷(含答案)
- 国家义务教育质量监测八年级美术样卷
- 畜牧业人才培养的新机遇与发展路径
- 环境监测信息化建设-深度研究
- 植物蛋白资源利用-深度研究
评论
0/150
提交评论