zoukankan      html  css  js  c++  java
  • c# 连接数据库

    参考 http://blog.csdn.net/candy1232009/article/details/7654927

    对于不同的.NET数据提供者,ADO.NET采用不同的Connection对象连接数据库。这些Connection对象为我们屏蔽了具体的实现细节,并提供了一种统一的实现方法。

    Connection类有四种:SqlConnection,OleDbConnection,OdbcConnection和OracleConnection。

    SqlConnection类的对象连接SQL Server数据库;OracleConnection 类的对象连接Oracle数据库;OleDbConnection类的对象连接支持OLE DB的数据库,如Access;而OdbcConnection类的对象连接任何支持ODBC的数据库。与数据库的所有通讯最终都是通过 Connection对象来完成的。
     (1)用SqlConnection连接SQL Server

    加入命名空间:using System.Data.SqlClient;

    连接数据库: string conString = "data source=IP地址; Database=数据库名;user id=用户名; password=密码";

                              SqlConnection myconnection = new SqlConnection(conString);

                              myconnection.open();

    (2)用OracleConnection连接Oracle

    加入命名空间:using System.Data.OracleClient;

    连接数据库: string conString = "data source=IP地址; Database=数据库名;user id=用户名; password=密码";

                              OracleConnection myconnection = new OracleConnection(conString);

                              myconnection.open();

    (3)用 MySqlConnection连接MySQL

    在.NET中连接MySQL数据库有两种方法:MySQL Connector/ODBC 和 MySQL Connector/NET,ODBC连接器是符合ODBC标准的交互平台,是.NET访问MySQL数据库最好的选择。

    首先,需要下载安装MySql-connector-net-5.1.5.Data.msi这个组件。如果是默认安装,则可以在 C:Program FilesMySQLMySQL Connector Net 5.1.5Binaries.NET2.0中找到MySql.Data.dll,将该文件复制到项目的bin目录下。并且在项目中添加引用 MySql.Data.dll。实现代码如下:

    加入命名空间:using MySql.Data.MySqlClient;

    连接数据库: string conString = "server=IP地址; Database=数据库名;user id=用户名; password=密码";

                              MySqlConnection myconnection = new MySqlConnection(conString);

                              myconnection.open();

    (4)用OleDbConnection连接各种数据源

    由于数据源不同,相应的连接字符串也会不同。

    加入命名空间:using System.Data.OleDb;

    连接 SQL Server:  string conString = "Provider=SQLOLEDB.1; Persist Security Info=False; user id=用户名; Database=数据库名; data source=COMPUTER; ";

                                        OleDbConnection myconnection = new OleDbConnection(conString);

                                        myconnection.open();

    连接 Access:  string conString = "Provider=Microsoft.Jet.OLEDB.4.0;  data source=C:\Database1.mdb; Persist Security Info=False;";

                                        OleDbConnection myconnection = new OleDbConnection(conString);

                                        myconnection.open();

    (也可以通过建立.udl文件来获得字符串)

    连接 Oracle:  string conString = "Provider=MSDAORA;  user id=用户名; password=密码; data source=db; Persist Security Info=False;";

                                        OleDbConnection myconnection = new OleDbConnection(conString);

                                        myconnection.open();

    (也可以通过OracleConnection连接)

    注意:使用不同的Connection对象需要导入不同的命名空间。OleDbConnection的命名空间 为System.Data.OleDb。SqlConnection的命名空间为System.Data.SqlClient。 OracleConnection的命名空间为System.Data.OracleClinet。
     

    我们就可以使用如下两种方式连接数据库,即采用集成的Windows验证和使用Sql Server身份验证进行数据库的登录。

    1、集成的Windows身份验证语法范例

    string constr = "server=.;database=myschool;integrated security=SSPI";

    说明:程序代码中,设置了一个针对Sql Server数据库的连接字符串。其中server表示运行Sql Server的计算机名,由于程序和数据库系统是位于同一台计算机的,所以我们可以用.(或localhost)取代当前的计算机名。database表 示所使用的数据库名(myschool)。由于我们希望采用集成的Windows验证方式,所以设置 integrated security为SSPI即可。

    2、Sql Server 2005中的Windows身份验证模式如下:

    string constr = "server=.;database=myschool;uid=sa;pwd=sa";

    说明:程序代码中,采用了使用已知的用户名和密码验证进行数据库的登录。数据库连接字符串是不区分大小写的。uid为指定的数据库用户名,pwd为 指定的用户口令。为了安全起见,一般不要在代码中包括用户名和口令,你可以采用前面的集成的Windows验证方式或者对Web.Config文件中的连 接字符串加密的方式提高程序的安全性。

    3、Sql Server 2005中的Sql Server身份验证模式如下:

    string constr = "data source=.;initial catalog=myschool;user id=sa;pwd=sa";

    说明:程序代码中data source 表示运行数据库对应的计算机名,initial catalog表示所使用的数据库名。uid为指定的数据库用户名,pwd为指定的用户口令。

    4、Access数据库的连接字符串的形式如下:

    string connectionString =@"provider=Microsoft.Jet.OLEDB.4.0;data source=c:DataSourcemyschool.mdb";

  • 相关阅读:
    matplotlib讲义
    车间调度问题(part3: 遗传算法)
    sympy库和matplotlib库简介
    python列表
    第十周周三练习
    第十一周周一练习题
    MyEcplise中关于部署文件不成功的问题
    Java中的get()和set()方法
    Java中this关键字的使用
    信号完整性问题的几个基本原则
  • 原文地址:https://www.cnblogs.com/nygfcn1234/p/3216965.html
Copyright © 2011-2022 走看看