本文小编为大家详细介绍“C#怎么使用ADO.Net连接数据库与实现多数据库访问”,内容详细,步骤清晰,细节处理妥当,希望这篇“C#怎么使用ADO.Net连接数据库与实现多数据库访问”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。
标准安全:" Driver={SQL Server}; Server=Aron1; Database=pubs; Uid=sa; Pwd=asdasd; "
信任的连接:" Driver={SQL Server}; Server=Aron1; Database=pubs; Trusted_Connection=yes; "
标准安全" Driver={SQL Native Client}; Server=Aron1; Database=pubs; UID=sa; PWD=asdasd; "
信任的连接" Driver={SQL Native Client}; Server=Aron1; Database=pubs; Trusted_Connection=yes; "
--Integrated Security=SSPI 等同于Trusted_Connection=yes
新版本:"Driver={Microsoft ODBC for Oracle}; Server=OracleServer.world; Uid=Username; Pwd=asdasd; "
旧版本:"Driver={Microsoft ODBC Driver for Oracle}; ConnectString=OracleServer.world; Uid=myUsername; Pwd=myPassword; "
标准安全:"Driver={Microsoft Access Driver (*.mdb)}; Dbq=C:\mydatabase.mdb; Uid=Admin; Pwd=; "
标准安全:" Provider=sqloledb; Data Source=Aron1; Initial Catalog=pubs; User Id=sa; Password=asdasd; "
信任的连接:" Provider=sqloledb; Data Source=Aron1; Initial Catalog=pubs; Integrated Security=SSPI; "
(use serverName\instanceName as Data Source to use an specifik SQLServer instance, only SQLServer2000)
标准安全:" Provider=SQLNCLI; Server=Aron1; Database=pubs; UID=sa; PWD=asdasd; "
信任的连接:" Provider=SQLNCLI; Server=Aron1; Database=pubs; Trusted_Connection=yes; "
--Integrated Security=SSPI 等同于Trusted_Connection=yes
标准安全:"Provider=msdaora; Data Source=MyOracleDB; User Id=UserName; Password=asdasd; "
This one's from Microsoft, the following are from Oracle
标准安全:"Provider=OraOLEDB.Oracle; Data Source=MyOracleDB; User Id=Username; Password=asdasd; "
信任的连接:"Provider=OraOLEDB.Oracle; Data Source=MyOracleDB; OSAuthent=1; "
标准安全:
"Provider=Microsoft.Jet.OLEDB.4.0; Data Source=\somepath\mydb.mdb; User Id=admin; Password=; "
标准安全:
" Data Source=Aron1; Initial Catalog=pubs; User Id=sa; Password=asdasd; "
- 或者 -" Server=Aron1; Database=pubs; User ID=sa; Password=asdasd; Trusted_Connection=False"
信任的连接:" Data Source=Aron1; Initial Catalog=pubs; Integrated Security=SSPI; "
- 或者 -" Server=Aron1; Database=pubs; Trusted_Connection=True; "
–(use serverName\instanceName as Data Source to use an specifik SQLServer instance, 仅仅适用于SQLServer2000)
标准安全:"Data Source=MyOracleDB; Integrated Security=yes; "
--This one works only with Oracle 8i release 3 or later
指定用户名和密码:"Data Source=MyOracleDB; User Id=username; Password=passwd; Integrated Security=no; "
--This one works only with Oracle 8i release 3 or later
指定主机:"Data Source=(DESCRIPTION=(ADDRESS_LIST=(ADDRESS=(PROTOCOL=TCP) (HOST=192.168.115.33) (PORT=1521)))(CONNECT_DATA=(SERVICE_NAME= testDemo))); User Id=oracle_test; Password=oracle"
其中Oracle数据库服务器IP:192.168.115.33
ServiceName:testDemo
用户名:oracle_test
密码:oracle
DbProviderFactory是一个工厂类,工厂类的作用提供其他一系列相互之间有关系的类。在这里,DbProviderFactory就自动生成了包括DbConnection、DbCommand、 DbDataAdapter等一系列数据库操作的相关类。
1、配置文件ConnectionString节:
<configuration> <connectionStrings> <add name="default" connectionString="server=localhost; user id=sa; password=******; database=northwind" providerName="System.Data.SqlClient"/> </connectionStrings> </configuration>
2、利用DbProviderFactory类自动查找数据库的驱动
ConnectionStringSettings settings = ConfigurationManager.ConnectionStrings["default"]; DbProviderFactory provider = DbProviderFactories.GetFactory(settings.ProviderName);
3、利用DbProviderFactory类实例创建各种ADO.Net对象。
using (DbConnection conn = provider.CreateConnection()) { conn.ConnectionString = settings.ConnectionString; conn.Open(); DbCommand cmd = conn.CreateCommand(); cmd.CommandText = "Select top 10 * From ShortTermBill"; //使用DbDataAdapter DbDataAdapter da = provider.CreateDataAdapter(); da.SelectCommand = cmd; DataSet ds = new DataSet(); da.Fill(ds); da.Dispose(); Console.WriteLine(ds.Tables[0].Rows[0]["BillCode"]); //使用DbDataReader DbDataReader reader = cmd.ExecuteReader() while (reader.Read()) { Console.WriteLine(reader.GetString(0)); } conn.Close(); }
SQL Server 架构集合 - ADO.NET | Microsoft 官方文档
class Program { static void Main() { string connectionString = GetConnectionString(); using (SqlConnection connection = new SqlConnection(connectionString)) { // Connect to the database then retrieve the schema information. connection.Open();string[] columnRestrictions = new String[4]; // For the array, 0-member represents Catalog; 1-member represents Schema; // 2-member represents Table Name; 3-member represents Column Name. // Now we specify the Table_Name and Column_Name of the columns what we want to get schema information. columnRestrictions[2] = "Device"; DataTable departmentIDSchemaTable = connection.GetSchema("Columns", columnRestrictions); ShowColumns(departmentIDSchemaTable); } } private static string GetConnectionString() { // To avoid storing the connection string in your code, // you can retrieve it from a configuration file. return "server=10.126.64.1;Database=TPM;user=it;pwd=;ApplicationIntent=ReadOnly;MultiSubnetFailover=True"; } private static void ShowColumns(DataTable columnsTable) { var selectedRows = from info in columnsTable.AsEnumerable() select new { 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},{4,-15},{5,-15},{6,-15},{7,-15},{8,-15},{9,-15},{10,-15},{11,-15}", "TableCatalog", "TABLE_SCHEMA", "表名", "列名", "数据类型", "字段原始顺序", "列默认值", "是否可空", "字符串最大长度", "数字精度", "数字小数点位数", "日期精度" ); foreach (var row in selectedRows) { Console.WriteLine("{0,-15},{1,-15},{2,-15},{3,-15},{4,-15},{5,-15},{6,-15},{7,-15},{8,-15},{9,-15},{10,-15},{11,-15}", row.TableCatalog, row.TableSchema, row.TableName, row.ColumnName, row.DataType, row.ORDINAL_POSITION, row.COLUMN_DEFAULT, row.IS_NULLABLE , row.CHARACTER_MAXIMUM_LENGTH, row.NUMERIC_PRECISION, row.NUMERIC_SCALE, row.DATETIME_PRECISION); } } }
读到这里,这篇“C#怎么使用ADO.Net连接数据库与实现多数据库访问”文章已经介绍完毕,想要掌握这篇文章的知识点还需要大家自己动手实践使用过才能领会,如果想了解更多相关内容的文章,欢迎关注亿速云行业资讯频道。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。