C#连接数据库实战指南:从Access到SQL Server

需积分: 24 8 下载量 133 浏览量 更新于2024-09-20 收藏 35KB DOC 举报
"这篇文章主要介绍了如何使用C#语言连接到不同的数据库系统,包括Access、SQL Server、Oracle、MySQL、DB2和SyBase。通过具体的代码示例和注意事项,帮助读者掌握C#数据库连接的基本方法。" C#作为.NET框架的一部分,提供了强大的数据库访问能力。下面我们将详细探讨每个数据库系统的连接方式。 1. C#连接Access 对于Access数据库,我们需要使用`System.Data.OleDb`命名空间。连接字符串由两部分组成:数据提供者(Provider)和数据源(DataSource)。例如: ```csharp using System.Data; using System.Data.OleDb; string strConnection = "Provider=Microsoft.Jet.OleDb.4.0;"; strConnection += @"DataSource=C:\BegASPNET\Northwind.mdb"; OleDbConnection objConnection = new OleDbConnection(strConnection); objConnection.Open(); objConnection.Close(); ``` 其中,"Provider=Microsoft.Jet.OleDb.4.0;"指定使用Jet引擎,"DataSource=C:\BegASPNET\Northwind.mdb"指定了数据库文件的位置。若数据库与代码在同一目录,可使用`MapPath`方法获取路径。 注意: - 连接字符串中的反斜杠 `\` 需要转义,或使用 `@` 符号进行字符串字面量定义。 - 参数间以分号 `;` 分隔。 - 使用 `Open()` 和 `Close()` 方法打开和关闭连接。 2. C#连接SQL Server 对于SQL Server,通常使用`System.Data.SqlClient`命名空间,示例如下: ```csharp using System.Data.SqlClient; string strConnection = "Data Source=myServerAddress;Initial Catalog=myDataBase;User Id=myUsername;Password=myPassword;"; SqlConnection objConnection = new SqlConnection(strConnection); objConnection.Open(); objConnection.Close(); ``` 这里的连接字符串包括服务器地址、数据库名、用户名和密码。 3. C#连接Oracle 连接Oracle数据库,需要`System.Data.OracleClient`命名空间,但此命名空间自.NET Framework 4.0后已被弃用,建议使用Oracle官方的ODP.NET: ```csharp using Oracle.ManagedDataAccess.Client; string strConnection = "Data Source=(DESCRIPTION=(ADDRESS_LIST=(ADDRESS=(PROTOCOL=TCP)(HOST=yourHost)(PORT=yourPort)))(CONNECT_DATA=(SERVER=DEDICATED)(SERVICE_NAME=yourServiceName)));User Id=yourUsername;Password=yourPassword;"; OracleConnection objConnection = new OracleConnection(strConnection); objConnection.Open(); objConnection.Close(); ``` 4. C#连接MySQL 对于MySQL,可以使用`MySql.Data.MySqlClient`命名空间: ```csharp using MySql.Data.MySqlClient; string strConnection = "server=localhost;user id=root;database=test;port=3306;password=yourPassword;"; MySqlConnection objConnection = new MySqlConnection(strConnection); objConnection.Open(); objConnection.Close(); ``` 5. C#连接DB2 连接DB2,使用IBM的`IBM.Data.DB2`命名空间: ```csharp using IBM.Data.DB2; string strConnection = "Database=myDatabase;Server=myServerAddress;Uid=myUsername;Pwd=myPassword;"; DB2Connection objConnection = new DB2Connection(strConnection); objConnection.Open(); objConnection.Close(); ``` 6. C#连接SyBase 对于SyBase,可使用`AdoNetAdapter`或`Sybase.AdoNet2.AseClient`: ```csharp using Sybase.AdoNet2.AseClient; string strConnection = "Server=myServer;Database=myDatabase;User Id=myUsername;Password=myPassword;"; AseConnection objConnection = new AseConnection(strConnection); objConnection.Open(); objConnection.Close(); ``` 每种数据库连接都需要相应数据提供者的DLL,并确保已添加到项目引用中。此外,为了安全起见,通常使用连接池和事务处理,以及在不使用连接时及时释放资源,以提高性能和防止资源泄露。在实际应用中,还要考虑异常处理和配置管理,确保数据库操作的健壮性和可维护性。