ADO.NET的连接字符串

 

 

        连接字符串包含作为参数传递给数据源的初始化信息。在对ADO的ConnectionString在设置后会立即分析连接字符串。语法错误将生成运行时异常,但是只有在数据源验证了连接字符串中的信息后,才可以发现其他错误。验证后,数据源设置启用该连接的各种选项。

连接字符串关键字

        连接字符串的格式是使用分号分隔的键/值参数对列表[keyword1=value; keyword2=value]

        忽略空格,关键字不区分大小写,尽管值可能会区分大小写,这取决于数据源的大小写。要加入包含分号、单引号或双引号的值,值必须加双引号。

持续安全信息

        如果将该关键字设置为 true 或 yes,将允许在打开连接后,从连接中获得涉及安全性的信息(包括用户标识和密码)。如果在建立连接时必须提供用户标识和密码,最安全的方法是在使用信息打开连接后丢弃这些信息,在 Persist Security Info 设置为 false 或 no 时会发生这种情况。当您向不可信的源提供打开的连接,或将连接信息永久保存到磁盘时,这点尤其重要。如果将 Persist Security Info 保持为 false,可帮助确保不可信的源无法访问连接中涉及安全性的信息,并帮助确保任何涉及安全性的信息都不会随连接字符串信息在磁盘上持久化。

使用 Windows 身份验证

         Windows 身份验证 通常称为集成安全性验证,是系统推荐的验证方式。

          对 SQL Server 可以使用一下字符串:

                 Integrated Scurity=true;

                 Integrated Security=SSPI;

          对于OleDb 数据源,只能使用Integrated Security=SSPI;

          ODBC 数据源可以使用 Trusted_Connection=yes;

创建连接字符串

        .NET Framework  提供一个 DbConnectionStringBuilder类型做为连接字符串生成器。连接字符串生成器使开发人员可以通过编程,基于用户输入创建语法正确的连接字符串,以及分析并重新生成现有的连接字符串。

        SqlClient 连接字符串

        SqlConnection 的 ConnectionString 属性可以为 SQL Server 7.0 或更高版本的数据库获取或设置连接字符串。如果需要连接到早期版本的 SQL Server,必须使用 OleDb .NET 数据提供程序。

         SqlClient 连接字符串语法

         集成安全性验证

          "Persist Security Info=False;Integrated Security=true;Initial Catalog=AdventureWorks;Server=MSSQL1"

          "Persist Security Info=False;Integrated Security=SSPI;database=AdventureWorks;server=(local)"

          "Persist Security Info=False;Trusted_Connection=True;database=AdventureWorks;server=(local)"

          要强制使用某个协议,请添加下列前缀之一: np:(local), tcp:(local), lpc:(local)

         SQL Server 身份验证

           "Persist Security Info=False;User ID=*****;Password=*****;Initial         Catalog=AdventureWorks;Server=MySqlServer"

           连接到命名实例:Server=MySqlServer\MSSQL1;"

        OleDb 连接字符串

         通过 OleDbConnection 的 ConnectionString 属性可以为 OLE DB 数据源(例如 Microsoft Access 或 SQL Server 6.5 或更低版本)获取或设置连接字符串

         必须为 OleDbConnection 连接字符串指定提供程序名称。以下连接字符串使用 Jet 提供程序连接到 Microsoft Access 数据库。注意,如果数据库未受保护(默认设置),UserID 和 Password 关键字是可选的。

         OleDb 连接字符串语法:

         数据库未受保护

          Provider=Microsoft.Jet.OLEDB.4.0;Data Source=d:\Northwind.mdb;User ID=Admin;Password=; 

        数据库受保护

          Provider=Microsoft.Jet.OLEDB.4.0;Data Source=d:\Northwind.mdb;Jet OLEDB:System Database=d:\NorthwindSystem.mdw;User ID=*****;Password=*****;

         对于 SQL Server 6.5 或更低版本,请使用 sqloledb 关键字。

          Provider=sqloledb;Data Source=MySqlServer;Initial Catalog=pubs;User Id=*****;Password=*****;

         连接到Excel

        Microsoft Jet 提供程序用于连接到 Excel 工作簿。在以下连接字符串中,Extended Properties 关键字设置 Excel 特定的属性。“HDR=Yes;”指示第一行中包含列名,而不是数据,“IMEX=1;”通知驱动程序始终将“互混”数据列作为文本读取。

          Provider=Microsoft.Jet.OLEDB.4.0;Data Source=D:\MyExcel.xls;Extended Properties=""Excel 8.0;HDR=Yes;IMEX=1""

        Odbc 连接字符串

         OdbcConnection 的 ConnectionString 属性可以为 OLE DB 数据源获取或设置连接字符串。以下连接字符串使用 Microsoft 文本驱动程序。

         Driver={Microsoft Text Driver (*.txt; *.csv)};DBQ=d:\bin

        Oracle 连接字符串

         OracleConnection 的 ConnectionString 属性可以为 OLE DB 数据源获取或设置连接字符串。

         Data Source=Oracle9i;User ID=*****;Password=*****;

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
以下是使用ADO.NET连接MySQL数据库的步骤: 1. 下载MySQL Connector/NET,链接为:http://dev.mysql.com/downloads/connector/net/5.0.html,选择.NET & Mono平台,下载免安装的.zip文件。 2. 解压下载的文件,将其中的MySql.Data.dll文件添加到你的项目中。 3. 在代码中引用MySql.Data命名空间。 4. 创建一个MySqlConnection对象,设置连接字符串连接字符串的格式为:"server=服务器地址;user id=用户名;password=密码;database=数据库名"。 5. 调用MySqlConnection对象的Open()方法打开数据库连接。 6. 执行SQL语句或存储过程,可以使用MySqlCommand对象的ExecuteNonQuery()方法执行非查询语句,使用ExecuteReader()方法执行查询语句并返回一个MySqlDataReader对象,使用ExecuteScalar()方法执行查询语句并返回结果集中的第一行第一列的值。 7. 关闭数据库连接,调用MySqlConnection对象的Close()方法关闭连接。 下面是一个连接MySQL数据库并执行查询语句的示例代码: ```csharp using System; using MySql.Data.MySqlClient; namespace ConsoleApp1 { class Program { static void Main(string[] args) { string connStr = "server=localhost;user id=root;password=123456;database=test"; MySqlConnection conn = new MySqlConnection(connStr); try { conn.Open(); string sql = "SELECT * FROM user"; MySqlCommand cmd = new MySqlCommand(sql, conn); MySqlDataReader reader = cmd.ExecuteReader(); while (reader.Read()) { Console.WriteLine(reader["id"] + "\t" + reader["name"] + "\t" + reader["age"]); } reader.Close(); } catch (Exception ex) { Console.WriteLine(ex.Message); } finally { conn.Close(); } } } } ```

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值