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:
(ADO.net缺省为False,未测试,根据参考资料上说的)