web.config里面这样写:
 

 

    调用的时候:
    string strConn = ConfigurationManager.ConnectionStrings["链接字符串名字"].ToString();

   <connectionStrings>
    <add name="链接字符串名字" connectionString="server=\'(local)\'; trusted_connection=true; database=\'CMB\>
    </connectionStrings>

 

web.config中的数据库连接字符串:
<connectionStrings>
<add name="eStoreConnectionString" connectionString="Data Source=数据源;Initial Catalog=数据库;Persist Security Info=True;User ID=sa;Password=sa" providerName="System.Data.SqlClient"/>
</connectionStrings>

 

Persist Security Info属性的意思是表示是否保存安全信息,其实可以简单的理解为"ADO在数据库连接成功后是否保存密码信息", True表示保存,False表示不保存

 

 

一、使用OleDbConnection对象连接OLE DB数据源

1.连接Access 数据库

         Access 2000: “provider=Microsoft.Jet.Oledb.3.5;Data Source=Access文件路径”

         Access 2003: “provider=Microsoft.Jet.Oledb.4.0;Data Source=Access文件路径”

         Access 2007: “provider=Microsoft.Ace.Oledb.12.0;Data Source=Access文件路径”

    备注:Access数据库只提供两个连接属性provider(数据提供程序)和data source(数据源);

Access2000/2003的文件格式是“.mdb”,,Access2007的文件格式是“.accdb”;

Access的数据提供程序版本是向下兼容的,在Win7下测试使用Microsoft.Jet.OLEDB.3.5提示“未在本地计算机上注册“Microsoft.Jet.OLEDB.3.5”提供程序。”,改用Microsoft.Jet.OLEDB.4.0或者Microsoft.Ace.OLEDB12.0完全可以访问Access2000的数据库文件。当然也可以尝试使用微软提供的MDAC 来修改provider的版本。

2.连接Excel数据库

         Excel 2003: “provider=Microsoft.Jet.OLEDB.4.0;Data Source=Access文件路径;extended properties=excel 8.0”

         Excel 2007: “provider=Microsoft.Ace.OLEDB.12.0;Data Source=Access文件路径;extended properties=excel 12.0”

         备注:在代码中引用工作表时,应将表名表示为“[工作表名$]”,遇到字段为数据库保留关键字时,给该字段名加上[]以示区别,

如定义select 语句时:string connStr=”select * from [login$] where username=’abc’ and [password]=’abc123’ ”;

                     如果在数据表中用数字作为文本类型数据时,则应在数字前加单引号将默认的数值强行设定为文本类型。

3.连接SQL Server数据库

“provider=SQLOLEDB;Data Source=服务器名;Initial Catalog=数据库名;uid=用户;pwd=密码”

 

二、使用SqlConnection对象连接SQL Server数据库

         声明:以下连接的属性都可以参考“SQL Server 数据库连接字符串参数一览表”取它的别名;

除了必须设置的属性以外还可以设置其他辅助的属性。如Connect Timeout、Encrypt等

         设置数据库文件路径的方法:

         1.使用绝对路径:“AttachDbFilename=D://Solution1//Web//App_Data//data.mdf”

         2.使用服务器相对路径:“AttachDbFilename=”+Server.MapPath(“//App_Data//data.mdf”)

         3.使用最简单的相对路径:“AttachDbFilename=|DataDirectory|//data.mdf”

       推荐使用第3种方式,“|DataDirectory|”代表ASP.NET项目里自动创建的App_Data文件夹

1.以SQL Server验证模式连接SQLServer

(1)以数据库名连接方式

    “Server=服务器名;Database=数据库名称;User ID=用户名;Password=密码”

    或者(使用缩写与别名)

    “Server=服务器名; Initial Catalog=数据库名称;Uid=用户;Pwd=密码”

(2)以数据库文件完整路径连接方式

    “Serve=服务器名;AttachDbFilename=数据库文件路径;User ID=用户名;Password=密码”

示例:

    “Server=./SQLEXPRESS; Database=DatabaseName; User ID =sa; Password=abc123”

         “Server=./SQLEXPRESS; Initial Catalog =DatabaseName; Uid =sa; Pwd=abc123”

         “Server=(local)/SQLEXPRESS; AttachDbFilename=D://Solution1//Web//App_Data//data.mdf;User ID =sa; Password=abc123”

备注:密码可以为空。

2.以Windows 验证模式连接SQL Server

(1)以数据库名连接方式

“Server=服务器名;Database=数据库名称;Integrated Security=SSPI”

(2)以数据库文件完整路径连接方式

“Serve=服务器名;AttachDbFilename=数据库文件路径; Integrated Security=true”

示例:

“Server=服务器名;Database=数据库名称;Integrated Security=SSPI”

“Server=(local)/SQLEXPRESS; AttachDbFilename=D://Solution1//Web//App_Data//data.mdf;Integrated Security=true”

备注:SSPI即为true

 

三、使用OdbcConnection对象连接ODBC数据源

“Driver=数据库提供程序名;Server=服务器名; Database=数据库名;Trusted_Connection=yes”

示例:

    首先要在计算机管理à数据源à配置好相对应的数据源(选择数据库类型,设置数据库文件路径与相对应的数据库名)

    “Driver= Microsoft.Jet.OLEDB.4.0;Server=./SQLEXPRESS; Database=DatabaseName;Trusted_Connection=yes”

 

四、使用OracleConnection对象连接Oracle数据库

Data Source=Oracle8i;Integrated Security=yes

 

五、在ASP.NET项目中的web.config文件里配置数据库连接并在程序代码中获取连接字符串

1.在<connectionStrings> 标签里添加连接

<connectionStrings>   

<add name="ConnectionName" connectionString="Server=./SQLEXPRESS;Database=DatabaseName;User ID=sa;Password=abc123"   

providerName="System.Data.SqlClient" />   

</connectionStrings>

或者

<connectionStrings>   

<add name="ConnectionName" connectionString="Server=./SQLEXPRESS;AttachDbFilename=|DataDirectory|//data.mdf;Integrated Security=true"

providerName="System.Data.SqlClient" />   

</connectionStrings>

在程序代码中获取<connectionStrings> 标签里的连接字符串:

引用命名空间:Using  System.Configuration ;

string connStr = ConfigurationManager.ConnectionStrings["ConnectionName"].ToString();

 

2.在<appSettings>标签里添加连接

<appSettings>

         <add key="ConnectionName" value="Server=./SQLEXPRESS;Database=DatabaseName;User ID=sa;Password=abc123" />

</appSettings>

或者

<appSettings>

         <add key="ConnectionName" value="Server=./SQLEXPRESS;AttachDbFilename=|DataDirectory|//data.mdf;Integrated Security=True" />

</appSettings>

在程序代码中获取<appSettings> 标签里的连接字符串:

引用命名空间:Using  System.Configuration ;

string connStr = ConfigurationManager.AppSettings["ConnectionName"].ToString();  

 

备注:.NET2.0以后连接数据库的字符串可以放在这两个不同的地方,但是,如果是用绑定的数据控件(eg:SQLDataSource),那么连接串,只能在放<connectionStrings> 标签里

 

原文地址:ASP.NET 连接字符串的多种写法

#1 connectionString放在什么地方
首先肯定放在web.config里面,原因不多说了
有两个地方
1 appSetting小节?
2 connectionStrings小节?


1 appSetting小节?
调用方法
ConfigurationManager.AppSettings[""].ToString()
这里只是保存了一个字符串,没有其他东西
读取的时候也可以用ConfigurationSettings像asp.net1.1一样,不过MS说这个过时的方法
这是asp.net1.1的做法

2 connectionStrings小节?
调用方法
ConfigurationManager.ConnectionStrings[""].ConnectionString
在这里定义的ConnectionString可以直接被各种数据源控件如SqlDataSource通过如 <%$ ConnectionStrings:Pubs.ProviderName %>调用,显然更强大
它是如何做到的?
这里定义name和字符串的同时,还可以定义Provider
Provide默认一般设置为System.Data.SqlClient,它是个什么东西?
开始以为这个表示System.Data.SqlClient命名空间,感觉语法很奇怪,后来研究半天,这里只不过是一个字符串,利用了命名空间的名称而已,没有任何实际意义,删掉或者该成其他的值都可以,但也不是完全没有用处,在使用数据工厂的时候需要他,这个字符串是一个约定

关于数据库工厂:
一般来说在我们的数据库通用类里面读取web.config里面的参数(比如连接字符串),然后使用SqlConnection SqlCommand等操作,这样很明显需要为每种不同的数据库编写不同的程序,PetShop里面就是这么实现的,它分别实现了SqlHelper和OracleHelpe人两个类,为了适应这两个数据库访问类,还分别实现了不同的dal层,这其实不是很好的解决办法(asp.net1.1沿用下来的),asp.net2.0还有更简单的方法,就是使用数据库工厂

首先要创建一个工厂,这个工厂之后会负责创建需要的Connection Command等
DbProviderFactory dbFactory = DbProviderFactories.GetFactory(“”); 需要传入一个字符串,就是ProvideName的东西了,比如System.Data.SqlClient
这里就可以这么写:
        private static DbProviderFactory dbFactory = DbProviderFactories.GetFactory(ConfigurationManager.ConnectionStrings["LocalSqlServer"].ProviderName);  //用到ProviderName了

        public static void ttt1()
        {
            DbConnection conn = dbFactory.CreateConnection();
            DbCommand cmd = dbFactory.CreateCommand();
        }
这样得到的conn cmd就是通用的了,加入上面定义的是System.Data.SqlClient,其实这里就得到SqlConnection和SqlCommand


关于找不到ConfigurationManager的错误
有时候会死活找不到ConfigurationManager类,这是因为asp.net2.0中有好几个System.Configuration类...汗,因为有的是兼容1.1的,所以会这样,比如新建了一个项目,需要手动添加应用System.Configuration.dll,然后才能用到ConfigurationManager,否则系统默认使用asp.net1.1的东西

为了使用asp.net2.0的强大功能.....我把ConnectionStrings都放在这里

转载于:https://www.cnblogs.com/yayx/archive/2007/06/04/770489.html

Data Source - 或 - Server - 或 - Address - 或 - Addr - 或 - Network Address :

要连接的 SQL Server 实例的名称或网络地址。可以在服务器名称之后指定端口号:

server=tcp:servername, portnumber

指定本地实例时,始终使用 (local)。若要强制使用某个协议,请添加下列前缀之一:

np:(local), tcp:(local), lpc:(local)

Initial Catalog - 或 - Database : 数据库的名称。

Integrated Security - 或 - Trusted_Connection :

当为 false 时,将在连接中指定用户 ID 和密码。当为 true 时,将使用当前的 Windows 帐户凭据进行身份验证。

可识别的值为 true、false、yes、no 以及与 true 等效的 sspi(强烈推荐)。

User ID :SQL Server 登录帐户。

Password - 或 - Pwd :SQL Server 帐户登录的密码。

Persist Security Info:

Persist Security Info属性的意思是表示是否保存安全信息,其实可以简单的理解为"ADO在数据库连接成功后是否保存密码信息",
True表示保存,False表示不保存
ADO缺省为True
(ADO.net缺省为False,未测试,根据参考资料上说的)
具体可以通过ADO的Connect对象的ConnectString属性进行验证,如下所示(以下在Delphi7中测试通过):
----------------------------------------------------------------------------------------------------------
数据库连接前
ConnectString="Provider=MSDAORA.1;Password=mypassword;User ID=yzs;Data Source=ydgl22;Persist Security Info=false"
数据库连接成功后
ConnectString="Provider=MSDAORA.1;User ID=yzs;Data Source=ydgl22"
----------------------------------------------------------------------------------------------------------
数据库连接前
ConnectString="Provider=MSDAORA.1;Password=mypassword;User ID=yzs;Data Source=ydgl22;Persist Security Info=true"
数据库连接成功后
ConnectString="Provider=MSDAORA.1;Password=mypassword;User ID=dlyx;Data Source=ydgl22"
----------------------------------------------------------------------------------------------------------
 总体来说,如果数据库连接成功后不再需要连接的密码,出于安全性考虑,还是建议将Persist Security Info设为false,以防止后门程序取得数据库连接的密码
posted on 2020-03-17 10:49  qqhfeng16  阅读(1519)  评论(0编辑  收藏  举报