27.sqlserver2005连接字符串--2013-06-08

习惯用OLEDB+连接字符串去连数据库了,之前连sqlserver2000一直正常,因为换了个Y400的本本,装了win7,然后顺便sqlserver也搞了个64位的2005的。问题出现了,之前的数据库都连不上了。开始找了好久没找到原因,后来发现2005中uid跟pwd替换了之前的user跟password。顺便整理下连接字符串如下。

转帖的一些文章整理下,原文链接在文中。

 SQL Native Client ODBC Driver
 
标准安全连接 
   
Driver={SQL Native Client};Server=myServerAddress;Database=myDataBase;Uid=myUsername;Pwd=myPassword;
 
您是否在使用SQL Server 2005 Express? 请在“Server”选项使用连接表达式“主机名称/SQLEXPRESS”。 
  
受信的连接
   
Driver={SQL Native Client};Server=myServerAddress;Database=myDataBase;Trusted_Connection=yes;
 
"Integrated Security=SSPI" 与 "Trusted_Connection=yes" 是相同的。
  
连接到一个SQL Server实例
指定服务器实例的表达式和其他SQL Server的连接字符串相同。  
Driver={SQL Native Client};Server=myServerName/theInstanceName;Database=myDataBase;Trusted_Connection=yes;
 
   
指定用户名和密码
oConn.Properties("Prompt") = adPromptAlways
Driver={SQL Native Client};Server=myServerAddress;Database=myDataBase;
 
   
使用MARS (multiple active result sets)
   
Driver={SQL Native Client};Server=myServerAddress;Database=myDataBase;Trusted_Connection=yes;MARS_Connection=yes;
 
"MultipleActiveResultSets=true"与MARS_Connection=yes"是相同的。
使用ADO.NET 2.0作为MARS的模块。 MARS不支持ADO.NET 1.0和ADO.NET 1.1。
  
验证网络数据
   
Driver={SQL Native Client};Server=myServerAddress;Database=myDataBase;Trusted_Connection=yes;Encrypt=yes;
 
   
使用附加本地数据库文件的方式连接到本地SQL Server Express实例
   
Driver={SQL Native Client};Server=./SQLExpress;AttachDbFilename=c:/asd/qwe/mydbfile.mdf; Database=dbname;Trusted_Connection=Yes;
 
为何要使用Database参数?如果同名的数据库已经被附加,那么SQL Server将不会重新附加。 
  
使用附加本地数据文件夹中的数据库文件的方式连接到本地SQL Server Express实例
   
Driver={SQL Native Client};Server=./SQLExpress;AttachDbFilename=|DataDirectory|mydbfile.mdf; Database=dbname;Trusted_Connection=Yes;
 
为何要使用Database参数?如果同名的数据库已经被附加,那么SQL Server将不会重新附加。
  
数据库镜像
Data Source=myServerAddress;Failover Partner=myMirrorServer;Initial Catalog=myDataBase;Integrated Security=True;
 
 
  
SQL Native Client OLE DB Provider
 
标准连接
   
Provider=SQLNCLI;Server=myServerAddress;Database=myDataBase;Uid=myUsername;Pwd=myPassword;
 
您是否在使用SQL Server 2005 Express? 请在“Server”选项使用连接表达式“主机名称/SQLEXPRESS”。 
  
受信的连接
   
Provider=SQLNCLI;Server=myServerAddress;Database=myDataBase;Trusted_Connection=yes;
 
"Integrated Security=SSPI"与"Trusted_Connection=yes"相同
  
连接到SQL Server实例
指定服务器实例的表达式和其他SQL Server的连接字符串相同。  
Provider=SQLNCLI;Server=myServerName/theInstanceName;Database=myDataBase;Trusted_Connection=yes;
 
   
使用帐号和密码
oConn.Properties("Prompt") = adPromptAlways
oConn.Open "Provider=SQLNCLI;Server=myServerAddress;DataBase=myDataBase;
 
   
使用MARS (multiple active result sets)
   
Provider=SQLNCLI;Server=myServerAddress;Database=myDataBase;Trusted_Connection=yes;MarsConn=yes;
 
"MultipleActiveResultSets=true"和"MARS_Connection=yes"是相同的。
使用ADO.NET 2.0作为MARS的模块。 MARS不支持ADO.NET 1.0和ADO.NET 1.1。
  
验证网络数据
   
Provider=SQLNCLI;Server=myServerAddress;Database=myDataBase;Trusted_Connection=yes;Encrypt=yes;
 
   
使用附加本地数据库文件的方式连接到本地SQL Server Express实例
   
Provider=SQLNCLI;Server=./SQLExpress;AttachDbFilename=c:/asd/qwe/mydbfile.mdf; Database=dbname;Trusted_Connection=Yes;
 
为何要使用Database参数?如果同名的数据库已经被附加,那么SQL Server将不会重新附加。
  
使用附加本地数据文件夹中的数据库文件的方式连接到本地SQL Server Express实例
   
Provider=SQLNCLI;Server=./SQLExpress;AttachDbFilename=|DataDirectory|mydbfile.mdf; Database=dbname;Trusted_Connection=Yes;
 
为何要使用Database参数?如果同名的数据库已经被附加,那么SQL Server将不会重新附加。
  
数据库镜像
Data Source=myServerAddress;Failover Partner=myMirrorServer;Initial Catalog=myDataBase;Integrated Security=True;
 
 
  
SqlConnection (.NET)
 
标准连接
   
Data Source=myServerAddress;Initial Catalog=myDataBase;User Id=myUsername;Password=myPassword;
 
使用serverName/instanceName作为数据源可以指定SQL Server实例。
您是否在使用SQL Server 2005 Express? 请在“Server”选项使用连接表达式“主机名称/SQLEXPRESS”。 
  
Standard Security alternative syntax
Server=myServerAddress;Database=myDataBase;User ID=myUsername;Password=myPassword;Trusted_Connection=False;
 
   
受信任的连接
   
Data Source=myServerAddress;Initial Catalog=myDataBase;Integrated Security=SSPI;
 
   
Trusted Connection alternative syntax
Server=myServerAddress;Database=myDataBase;Trusted_Connection=True;
 
   
连接到一个SQL Server的实例
指定服务器实例的表达式和其他SQL Server的连接字符串相同。  
Server=myServerName/theInstanceName;Database=myDataBase;Trusted_Connection=True;
 
   
来自WinCE设备的安全连接
Data Source=myServerAddress;Initial Catalog=myDataBase;Integrated Security=SSPI;User ID=myDomain/myUsername;Password=myPassword;
 
仅能用于CE设备。
  
带有IP地址的连接
   
Data Source=190.190.200.100,1433;Network Library=DBMSSOCN;Initial Catalog=myDataBase;User ID=myUsername;Password=myPassword; 
 
使用MARS (multiple active result sets)
   
Server=myServerAddress;Database=myDataBase;Trusted_Connection=True;MultipleActiveResultSets=true;
 
使用ADO.NET 2.0作为MARS的模块。 MARS不支持ADO.NET 1.0和ADO.NET 1.1。
  
使用附加本地数据库文件的方式连接到本地SQL Server Express实例
   
Server=./SQLExpress;AttachDbFilename=c:/asd/qwe/mydbfile.mdf;Database=dbname;Trusted_Connection=Yes;
 
为何要使用Database参数?如果同名的数据库已经被附加,那么SQL Server将不会重新附加。
  
使用附加本地数据文件夹中的数据库文件的方式连接到本地SQL Server Express实例
   
Server=./SQLExpress;AttachDbFilename=|DataDirectory|mydbfile.mdf; Database=dbname;Trusted_Connection=Yes;
 
为何要使用Database参数?如果同名的数据库已经被附加,那么SQL Server将不会重新附加。
  
使用在SQL Server Express实例上的用户实例
Data Source=./SQLExpress;Integrated Security=true;AttachDbFilename=|DataDirectory|/mydb.mdf;User Instance=true;
 
数据库镜像
Data Source=myServerAddress;Failover Partner=myMirrorServer;Initial Catalog=myDataBase;Integrated Security=True;
 
Asynchronous processing
Server=myServerAddress;Database=myDataBase;Integrated Security=True;Asynchronous Processing=True;
 

本文来自CSDN博客,转载请标明出处: http://blog.csdn.net/jyh_jack/archive/2008/04/07/2257512.aspx 
 
Sql Server2005连接字符串总结

SqlConnection (.NET)

       标准安全连接

以下是语法格式:
Data Source=myServerAddress;Initial Catalog=myDataBase;User Id=myUsername;Password=myPassword;

使用"服务器名/实例名"的格式作为Data Source来连接到一个Sql Server服务器上的一个实例。

你用过sql server 2005 Express么?不要忘记服务器的语法“Servername/SQLEXPRESS”(你要把Servername替换为装有sql server 2005 Express的计算机的名字)

     标准连接的另一种语法

这个连接字符串和前一个的作用是一样的,只所以放到这里是为了说明有些连接参数带有相同的效果。


以下是语法格式:
Server=myServerAddress;Database=myDataBase;User ID=myUsername;Password=myPassword;Trusted_Connection=False;

    信任的连接


以下是语法格式:
Data Source=myServerAddress;Initial Catalog=myDataBase;Integrated Security=SSPI;

       信任连接的另一种语法

这个连接字符串和前一个的作用是一样的,只所以放到这里是为了说明有些连接参数带有相同的效果。


以下是语法格式:
Server=myServerAddress;Database=myDataBase;Trusted_Connection=True;

    连接到数据库实例

这个指名Sql Server 实例的语法中的server参数的值对所有连接Sql Server的字符串相同。

以下是语法格式:
Server=myServerName/theInstanceName;Database=myDataBase;Trusted_Connection=True;

     信任连接来至CE设备

通常CE设备是没有验证和登陆到域的。用SSPI或信任验证的连接要使用下面的连接字符串。

以下是语法格式:
Data Source=myServerAddress;Initial Catalog=myDataBase;Integrated Security=SSPI;User ID=myDomain/myUsername;Password=myPassword;

注意:上面的语法只能用在CE设置上。

    通过IP地址的连接

以下是语法格式:
Data Source=190.190.200.100,1433;Network Library=DBMSSOCN;Initial Catalog=myDataBase;User ID=myUsername;Password=myPassword;

DBMSSOCN=TCP/IP.这是指明使用IP地址而不是命名管道来连接。Data Source的最后是端口。1433是数据库的默认端口。

   允许多个结果集(Enable Mars (multiple active result sets))


以下是语法格式:
Server=myServerAddress;Database=myDataBase;Trusted_Connection=True;MultipleActiveResultSets=true;

此功能只支持Ado.net 2.0.

   在一个到本地SQL Server Express 实例的连接上附加数据库文件


以下是语法格式:
Server=./SQLExpress;AttachDbFilename=c:/asd/qwe/mydbfile.mdf;Database=dbname;Trusted_Connection=Yes;

为什么要带上Database参数呢?因为如果有同名的数据库已经被附加上啦,SQL Server将不会重新附加该数据库。他将使用原数据库作为要连接的对象。

   在一个到本地SQL Server Express 实例的连接上附加数据库文件(数据文件在数据目录中。)


以下是语法格式:
Server=./SQLExpress;AttachDbFilename=|DataDirectory|mydbfile.mdf; Database=dbname;Trusted_Connection=Yes;

为什么要带上Database参数呢?因为如果有同名的数据库已经被附加上啦,SQL Server将不会重新附加该数据库。他将使用原数据库作为要连接的对象。

   使用本机上的SQL Server Express 实例上的用户实例。

用户实例的连接创建了一个新的SQL Server 实例。此连接只能是在本地SQL Server 2005实例上并且是通过命名管的windows验证连接才有效。目的就是为了给用户创建一个完全权限的Sql Server 实例和有限的计算机管理员权限。


以下是语法格式:
Data Source=./SQLExpress;Integrated Security=true;AttachDbFilename=|DataDirectory|/mydb.mdf;User Instance=true;

要使用User Instance 功能,你要在sql server服务器上启用他。你可以通过执行“sp_configure 'user instances enabled', '1'”来启用,执行“sp_configure 'user instances enabled', '0'”来禁用。

    数据库镜像

如果你用Ado.Net或着SQL Native Client 连接到一个镜像的数据库,当一个数据库镜像出错时,你的应用程序应该提供自动切换连接的功能。那么,你应该在连接字符串中指明原始数据库名和镜像数据库名。


以下是语法格式:
Data Source=myServerAddress;Failover Partner=myMirrorServer;Initial Catalog=myDataBase;Integrated Security=True;

当然还有很多连接数据库镜像的连接字符串的写法。这只是一个例子指明 failover功能。你还可以指明其他的连接字符串属性参数。

    异步处理

SQL Server 2005允许通过Ado.net对象进行异步请求任务。


以下是语法格式:
Server=myServerAddress;Database=myDataBase;Integrated Security=True;Asynchronous Processing=True;

 

 

SQL Server 2005 specials

 

   Context连接

Connecting to "self" from within your CLR stored prodedure/function. The context connection lets you execute Transact-SQL statements in the same context (connection) that your code was invoked in the first place.


以下是语法格式:
C#
using(SqlConnection connection = new SqlConnection("context connection=true"))
{
      connection.Open();
      // Use the connection
}

======================================================================

转载声明:本文转自http://hi.baidu.com/shangfei2009/blog/item/c1bbae3c901de7e73d6d97bc.html

在此谨对原创作者和转载分享网友,致以深深的谢意,也愿更多的网友能够分享和学习经典资料,谢谢!

===================================================

对于SQLServerExpress数据库连接配置,以前看到过几次,都是匆匆扫一眼,今天上午在一开源软件中又看到了它,感觉有必要对它有一个清楚的认识,示例如下:
<add name="LocalSqlServer" connectionString="Data Source=./SQLExpress;Integrated Security=True;AttachDBFilename=|DataDirectory|TimeTracker.mdf;User Instance=true" />
SqlConnectionStringBuilder实例化时,要用到 connectionString,如:SqlConnectionStringBuild builder = new SqlConnectionStringBuild(connectionString)。

   一、Data Source
SqlConnectionStringBuilder 的DataSource属性,对应connectionString中的Data Source,“Data Source”可以由下列字符串代替:“server”,“address”,“addr”和“network address”。
Data Source=./SQLExpress也可以写成这样Data Source=(local)/SQLExpress。

   二、Integrated Security
SqlConnectionStringBuilder 的IntegratedSecurity属性,对应connectionString中的Integrated Security,“Integrated Security”可以写成“trusted_connection”,为true时,使用当前的 Windows 帐户凭据进行身份验证,为false时,需要在连接中指定用户 ID 和密码。

   三、AttachDBFilename
SqlConnectionStringBuilder 的AttachDBFilename属性,对应connectionString中的 AttachDBFilename,“AttachDBFilename”可以写成“extended properties”,“initial file name”。AttachDbFileName属性指定连接打开的时候动态附加到服务器上的数据库文件的位置。这个属性可以接受数据库的完整路径和相对路 径(例如使用|DataDirectory|语法),在运行时这个路径会被应用程序的App_Data目录所代替。
有一篇文章,专门解释DataDirectory是什么。

   四、User Instance
SqlConnectionStringBuilder 的UserInstance属性,对应connectionString中的User Instance ,该值指示是否将连接从默认的 SQL Server Express 实例重定向到在调用方帐户之下运行并且在运行时启动的实例。UserInstance=true,在这种情况下,SQLServerExpress为了把 数据库附加到新的实例,建立一个新的进程,在打开连接的用户身份下运行。在ASP.NET应用程序中,这个用户是本地的ASPNET帐号或默认的 NetworkService,这依赖于操作系统。为了安全地附加非系统管理员帐号(例如ASP.NET帐号)提供的数据库文件,建立一个独立的 SQLServer用户实例是必要的。


附 录:

DataDirectory是什么?

asp.net  2.0有一个特殊目录app_data,通常Sql  server  2005  express数据文件就放在这个目录,相应的数据库连接串就是:
connectionString="……  data  source=./SQLEXPRESS;Integrated  Security=SSPI;AttachDBFilename=|DataDirectory|data.mdf;User  Instance=true"
这里有一个DataDirectory的宏,它表示什么意义呢?

DataDirectory是表示数据库路径的替换字符串。由于无需对完整路径进行硬编码,DataDirectory  简化了项目的共享和应用程序的部署。例如,无需使用以下连接字符串: 
"Data  Source=  c:/program  files/MyApp/app_data/Mydb.mdf" 
通过使用|DataDirectory|(包含在如下所示的竖线中),即可具有以下连接字符串: 
"Data  Source  =  |DataDirectory|/Mydb.mdf" 。

不仅仅是Sql server 2005 express中使用,也可以在其它的文件数据库中使用,例如Sqllite数据库文件的连接字符串:

<add  name="DefaultDB" 
connectionString="DriverClass=NHibernate.Driver.SQLite20Driver;Dialect=NHibernate.Dialect.SQLiteDialect;Data  Source=|DataDirectory|/data.db3" />

 

2.连接数据库服务器

<!--连接数据库服务器-->
  <add key="CRMonnection" value="Data Source=Sufei;Initial Catalog=CRM;Integrated Security=false;uid=1233;Password=123456"></add>

一般是这样写的,意思 我就不在多说了大家一看就知道了。

3.怎么样取呢来看个例子吧

先看下面的代码

 


<appSettings>
    
<!--连接数据库服务器-->
        
<add key="CRMonnection" value="Data Source=Sufei;Initial Catalog=CRM;Integrated Security=false;uid=nouter;Password=123456"></add>
        
<add key="ForumName" value="漯河移动"/>
    
<!--连接数据库文件-->
    
<add key ="CRMConnectionString" value ="Data Source=./SQLEXPRESS;AttachDbFilename=|DataDirectory|CRM.mdf;Integrated Security=True;Connect Timeout=30;User Instance=True"/>
    
</appSettings>

取的方法在这里

 System.Configuration.ConfigurationSettings.AppSettings["CRMConnectionString"];

转载于:https://my.oschina.net/quanpower/blog/142004

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值