SQL Server 2005 连接字符串代码


昨天在测试程序的时候,出现 SQL 的连接错误。因为之前使用的是 Microsoft SQL Server 2000,现在测试用的是 Microsoft SQL Server 2005 ,所以第一反应感觉应该是连接字符串的改变。

搜索“SQL Server 2005 连接字符串代码”,可以找到很多内容。

因为之前使用的是 OLE DB 连接,所以依然使用这个。

Microsoft SQL Server 2000 下的连接字符串为:
Provider=SQLOLEDB;Data Source=server;Initial Catalog=database;User Id=user;Password=password;

或者
Provider=SQLOLEDB;Server=server;Database=database;Uid=user;Pwd=password;

Microsoft SQL Server 2005 下的连接字符串为:
Provider=SQLNCLI;Data Source=server;Initial Catalog=database;User Id=user;Password=password;

或者
Provider=SQLNCLI;Server=server;Database=database;Uid=user;Pwd=password;

变化,就在于 Provider 后的内容。


SQL Server 2005 连接字符串代码
作者:  来源:   发布日期:2008-04-07  
 
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; [Page]
 
/"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的连接字符串相同。   [Page]
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;

///

SQL Server 2005 Remote Access
在使用SQL Server 2005的远程连接时,如果遇到连接不上的问题,请按下列步骤操作:
1。server要保证在SQL Server Configuration Manager里的SQL Server 2005 Network Configuration里,确保TCP/IP的protocol是enable的。
2。client也要保证Native的TCP/IP protocol也enable。
3。当然要确保server的sql server服务已经开启。
4。server如果开了firewall,在exceptions里添加1433 port。

ADO连接SQL Server 2005 Express的连接字符串问题?
ADO连接SQL Server 2005 Express(默认实例安装)的字符串(OLE DB provider)如何写的???我是这么写的总是不能成功。

CString strConn="Provider=SQLNCLI;Server=.//SQLExpress;Database=MyTest;Trusted_Connection=yes";


我的SQL server express安装时候选择的是windows安全认证,没有设定sa密码的。

请指点。谢谢!
温柔的大海 发表于 2007-9-12 03:54

更改了一下就可以了,发现如果是默认实例安装,不要指明安装实例名字,否则出错,可能默认实例名字并不是SQLExpress吧。如果是命名实例才需要指明。关于连接字符串,大家可以参考这个网站的总结:www.connectionstrings.com

还发现,如果是默认实例安装,则连接字符串甚至不用给出server信息也可以连接本机SQL库。
strConn="Provider=SQLNCLI;Database=MyTest;Trusted_Connection=yes"也可以成功连接。发现有时候数据库连接很严格,有时候又很宽松,nnd。


try                
{
CString strConn="Provider=SQLNCLI;Server=localhost;Database=MyTest;Trusted_Connection=yes;";
BSTR bstrConn=strConn.AllocSysString();
// 打开本地SQL Server 2005 Express
m_pConnection->Open(bstrConn,"","",adModeUnknown);

}
catch(_com_error e)
{
//AfxMessageBox(e.ErrorMessage());
AfxMessageBox(e.Description());
//AfxMessageBox(e.ErrorInfo());
return FALSE;
}

//stdafx.h
#import "c:/program files/common files/system/ado/msado15.dll" no_namespace rename("EOF","adoEOF")
//主程序初始化函数
BOOL CADO2App::InitInstance()
{
AfxEnableControlContainer();

AfxOleInit();//初始化COM库
//--------------------------------------------
下面是ACCESS的:
HRESULT hr;
try
{
hr = m_pConnection.CreateInstance("ADODB.Connection");///创建Connection对象
if(SUCCEEDED(hr)) {
hr = m_pConnection->Open("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=test.mdb","","",adModeUnknown);///连接数据库
///上面一句中连接字串中的Provider是针对ACCESS2000环境的,对于ACCESS97,需要改为:Provider=Microsoft.Jet.OLEDB.3.51; }
}
}
catch(_com_error e)///捕捉异常
{
CString errormessage;
errormessage.Format("连接数据库失败!/r/n错误信息:%s",e.ErrorMessage());
AfxMessageBox(errormessage);///显示错误信息
return FALSE;
}
下面是连接SQL SERVER的
CString strSQL;
HRESULT hr;
try
{
hr=m_pConnection.CreateInstance(__uuidof(Connection));
m_pConnection->CursorLocation=adUseClient;
strSQL="Provider=SQLOLEDB.1;Integrated Security=SSPI;Persist Security Info=False;Initial Catalog=TEST;Data Source=yjm";
if(SUCCEEDED(hr))
{
hr=m_pConnection->Open(_bstr_t(strSQL),"","",-1);
}
}
catch(_com_error e)///捕捉异常
{
CString errormessage;
errormessage.Format("连接数据库失败!/r/n错误信息:%s",e.ErrorMessage());
AfxMessageBox(errormessage);///显示错误信息
return FALSE;
}
//AfxMessageBox("connected~~");
其中:
----- ADO连接SQL Server的数据库连接字符串模板 ----------

身份验证模式为:"sql server和windows"
Provider=SQLOLEDB.1;Persist Security Info=True;User ID=用户名;Password=密码;Initial Catalog=数据库名;Data Source=SQL服务器名

身份验证模式为:"仅windows"
Provider=SQLOLEDB.1;Integrated Security=SSPI;Persist Security Info=False;Initial Catalog=数据库名;Data Source=SQL服务器名

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值