广告
返回顶部
首页 > 资讯 > 精选 >C#怎么使用ADO.Net连接数据库与实现多数据库访问
  • 760
分享到

C#怎么使用ADO.Net连接数据库与实现多数据库访问

2023-06-30 13:06:19 760人浏览 独家记忆
摘要

本文小编为大家详细介绍“C#怎么使用ADO.net连接数据库与实现多数据库访问”,内容详细,步骤清晰,细节处理妥当,希望这篇“C#怎么使用ADO.Net连接数据库与实现多数据库访问”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来

本文小编为大家详细介绍“C#怎么使用ADO.net连接数据库与实现多数据库访问”,内容详细,步骤清晰,细节处理妥当,希望这篇“C#怎么使用ADO.Net连接数据库与实现多数据库访问”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。

一、ADO.Net数据库连接字符串

1、OdbcConnection(System.Data.Odbc)

(1)sql Sever

标准安全:" Driver={SQL Server}; Server=Aron1; Database=pubs; Uid=sa; Pwd=asdasd; "

信任的连接:" Driver={SQL Server}; Server=Aron1; Database=pubs; Trusted_Connection=yes; "

(2)SQL Native Client ODBC Driver(>=SQL Server 2005)

标准安全" 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

(3)oracle:

新版本:"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; "

(4)Access:

标准安全:"Driver={Microsoft Access Driver (*.mdb)}; Dbq=C:\mydatabase.mdb; Uid=Admin; Pwd=; "

2、OleDbConnection(System.Data.OleDb)

(1)SQL Sever

标准安全:" 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)

(2)SQL Native Client OLE DB Provider(>=SQL Server 2005)

标准安全:" 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

(3)Oracle:

标准安全:
"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; "

(4)Access:

标准安全:

"Provider=Microsoft.Jet.OLEDB.4.0; Data Source=\somepath\mydb.mdb; User Id=admin; Password=; "

3、SqlConnection(Syste.Data.SqlClient) SQL专用

标准安全:

" 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)

4、OracleConnection(System.Data.OracleClient\Oracle.ManagedDataAccess.Client) Oracle专用

标准安全:
"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创建各种ADO.Net对象

DbProviderFactory是一个工厂类,工厂类的作用提供其他一系列相互之间有关系的类。在这里,DbProviderFactory就自动生成了包括DbConnection、DbCommand、 DbDataAdapter等一系列数据库操作的相关类。

配置文件ConnectionString节:

<configuration>     <connectionStrings>         <add name="default"  connectionString="server=localhost; user id=sa; password=******; database=northwind"              providerName="System.Data.SqlClient"/>    </connectionStrings> </configuration>

利用DbProviderFactory类自动查找数据库的驱动

ConnectionStringSettings settings = ConfigurationManager.ConnectionStrings["default"];DbProviderFactory provider = DbProviderFactories.GetFactory(settings.ProviderName);

利用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();}

三、利用DbConnection获取数据库架构信息

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连接数据库与实现多数据库访问”文章已经介绍完毕,想要掌握这篇文章的知识点还需要大家自己动手实践使用过才能领会,如果想了解更多相关内容的文章,欢迎关注编程网精选频道。

--结束END--

本文标题: C#怎么使用ADO.Net连接数据库与实现多数据库访问

本文链接: https://www.lsjlt.com/news/329178.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • C#怎么使用ADO.Net连接数据库与实现多数据库访问
    本文小编为大家详细介绍“C#怎么使用ADO.Net连接数据库与实现多数据库访问”,内容详细,步骤清晰,细节处理妥当,希望这篇“C#怎么使用ADO.Net连接数据库与实现多数据库访问”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来...
    99+
    2023-06-30
  • C#使用ADO.Net连接数据库与DbProviderFactory实现多数据库访问
    一、ADO.Net数据库连接字符串 1、OdbcConnection(System.Data.Odbc) (1)SQL Sever 标准安全:" Driver={SQL S...
    99+
    2022-11-13
  • ADO.NET中如何使用连接模式访问数据库中的数据
    本篇内容介绍了“ADO.NET中如何使用连接模式访问数据库中的数据”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!ADO.NET框架支持两种模...
    99+
    2023-06-17
  • jdbc连接池怎么实现数据库访问
    JDBC连接池是一种管理数据库连接的技术,它可以提供可用的数据库连接给应用程序使用,从而提高数据库访问的性能和效率。以下是实现JDB...
    99+
    2023-09-15
    jdbc 数据库
  • ADO.NET连接数据库使用是怎样的
    本篇文章为大家展示了ADO.NET连接数据库使用是怎样的,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。如果我们利用Command 对象所执行的命令是有传回数据的Select 叙述,此时Co...
    99+
    2023-06-17
  • C++怎么实现数据库连接池
    本文小编为大家详细介绍“C++怎么实现数据库连接池”,内容详细,步骤清晰,细节处理妥当,希望这篇“C++怎么实现数据库连接池”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。项目背景为了提高Mysql数据库的访问瓶颈...
    99+
    2023-07-05
  • C#利用反射实现多数据库访问
    在上一篇文章中讲解了什么是反射,以及利用反射可以获取程序集里面的哪些内容。在平时的项目中,可能会遇到项目需要使用多种数据库,这篇文章中将会讲解如何利用反射实现访问多种数据库。 项目整...
    99+
    2022-11-13
  • ADO.NET怎么通过拖拽形式实现数据库连接
    本篇内容主要讲解“ADO.NET怎么通过拖拽形式实现数据库连接”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“ADO.NET怎么通过拖拽形式实现数据库连接”吧!ADO.NET程序设计实验步骤(1)...
    99+
    2023-06-17
  • C++怎么连接并使用MySQL数据库
    这篇文章主要为大家展示了“C++怎么连接并使用MySQL数据库”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“C++怎么连接并使用MySQL数据库”这篇文章吧。1...
    99+
    2022-10-18
  • 怎么在SpringBoot中实现多数据库连接
    怎么在SpringBoot中实现多数据库连接?针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。主要使用两个不同的数据库,分别为:mysql(springboot)【primar...
    99+
    2023-06-14
  • 使用Jfinal怎么连接多个数据库
    本篇文章为大家展示了使用Jfinal怎么连接多个数据库,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。 添加mssql-jdbc-7.4.1.jar和mysql-connector-java-8.0....
    99+
    2023-06-14
  • [C#] WinForm/WPF 实现数据库连接与操作(MySQL)
    目录 🌿前言 🌿MySQL数据库简介 🌿数据库的基本概念 🌿ADO.NET体系结构 数据提供程序(.NET Framework Data Provider)程序数...
    99+
    2023-09-03
    c# 数据库 wpf mysql
  • c#怎么用mysql数据库连接池
    c#用mysql数据库连接池的示例:class DbConn{private const int MaxPool=10;//最大连接数private const int MinPool=5;//最小连接数private const bool...
    99+
    2022-10-13
  • JDBC数据库连接池 怎么实现
    本篇内容介绍了“JDBC数据库连接池 怎么实现”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!什么情况下使用连接池对于一个简单的数据库应用,由...
    99+
    2023-06-02
  • 怎么使用webconfig连接数据库
    要使用web.config连接数据库,需要按照以下步骤进行操作:1. 打开web.config文件:在你的项目中找到web.conf...
    99+
    2023-10-12
    数据库
  • 怎么使用perl连接数据库
    要使用Perl连接数据库,可以使用Perl的DBI模块。以下是连接MySQL数据库的示例代码:perluse DBI;# 设置数据库...
    99+
    2023-10-18
    perl 数据库
  • 怎么使用connection连接数据库
    使用connection连接数据库的步骤如下:1. 导入相关的数据库驱动程序:首先需要在代码中导入与数据库相应的驱动程序。不同数据库...
    99+
    2023-08-14
    connection 数据库
  • 怎么使用Navicat连接数据库?
      Navicat是一款功能强大的数据库管理工具,支持多种数据库类型,包括MySQL、Oracle、SQL Server等。它的用户界面友好,提供了许多方便的功能,如图形化的数据库设计、数据导入和导出、SQL编写和调试等。本文将介绍Nav...
    99+
    2023-08-31
    数据库 sql 服务器
  • C# 中怎么利用ODBC访问MySQL数据库
    C# 中怎么利用ODBC访问MySQL数据库,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。安装Microsoft ODBC.net:我安装的是mysql-con...
    99+
    2023-06-17
  • Qt怎么连接数据库并实现数据库增删改查
    这篇文章主要讲解了“Qt怎么连接数据库并实现数据库增删改查”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Qt怎么连接数据库并实现数据库增删改查”吧!1.连接数据库先来看下连接数据库的效果图。...
    99+
    2023-07-06
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作