VC_ADO连接SQLSERVER时连接字符串的模式

Posted jzdwajue

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了VC_ADO连接SQLSERVER时连接字符串的模式相关的知识,希望对你有一定的参考价值。

一、连接SQL SERVER的第一种连接字串:

是针对数据库身份验证模式为”SQL SERVER 和 windows“而言,

连接字串为:

CString strConn;

strConn = ”Provider = SQLOLEDB.1;\

Persist Security Info = true;\

User ID = sa;\

Password=123456;\

Initial Catalog = tempdb;\

Data Source = 127.0.0.1”;

(包括 6 项,实username和password,数据库名。server名(server名能够是网络上的,此时是一个IP地址))


二、连接SQL SERVER的另外一种连接字串:

       针对身份验证模式为“仅 windows”,

连接字串为:

strConn= “

Provider = SQLOLEDB.1;\

Integrated Security=SSPI;\

Persist Security Info =false;\

Initial Catalog = tempdb;\

Data Source = (local)”;

(包括 5 项,由于已经有windows验证了。所以不再须要username和password。假设是本机的SQL SERVER,那么server名可写为(local))


三、连接SQL SERVER的另外一种连接字串:

仅针对ODBC的连接方式,

连接字串为:

strConn= “

Provider = SQLOLEDB;\

Server = (local);\

Database = tempdb;\

uid = sa;\

pwd=12345;"


以上三种连接方式,记住随意一种就可以。推荐使用另外一种


关于连接字串的问题,我们能够借助 udl 文件来处理~~

新创建一个空的txt文件.把扩展名改动为udl即可了.
UDL本身是个文本文件.
它的主要作用是查看配置好的数据库连接字.先配置好.然后使用记事本打开

eg:我们在桌面创建一个 test.udl 文件,

1.假设要连接SQLserver数据库,【提供程序】选择:

microsoft ole db provider for sql server这一项,

2.【连接】中,server名称,选择RICHARDLEE(即本机server名称)

假设我们选择windows认证模式,就不用指定username和password了。

【在服务器上选择数据库】这一栏。就填我们在sqlserver中,某个自己想连接的数据库 。比方 test

再点击【測试连接】。假设连接成功。说明我们的连接字串都是对的~~

3.(我们自己填写的连接字串,在【全部】这一栏中能够看到)

4.把文件的后缀名改为*.txt打开后。就能够发现连接字串了。eg:

[oledb]
; Everything after this line is an OLE DB initstring
Provider=SQLOLEDB.1;Integrated Security=SSPI;Persist Security Info=False;Initial Catalog=test1;Data Source=RICHARDLEE

5.上面的连接字串就能够用在我们的程序中,比方

hr = m_pConnection.CreateInstance(__uuidof(Connection));

hr = m_pConnection->Open("Provider=SQLOLEDB.1;\
Integrated Security=SSPI;\
Persist Security Info=False;\
Initial Catalog=test1;\
Data Source=(local)","","",adModeUnknown);


(PS:连接字串中。各部分的先后顺序对数据库连接没有影响,即Integrated Security和Persist Security Info,谁在前谁在后,都无所谓)


************************************************************************************************************************

VC_ADO连接SQLSERVER的连接字串和VC-ADO连接ACCESS的连接字串有些不一样的地方~~

1.连接ACCESS时,经常使用

hr = m_pConnection->Open("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=D:\\test1.mdb","","",adModeUnknown);

即,连接字串为"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=D:\\test1.mdb"

这里的Data Source=D:\\test1.mdb是ACCESS数据库的名称,除非数据库文件放在了当前project路径下。否则要写所有路径名,而且要写数据库的后缀名

要注意,是”D:\\“,而不是”D:\“,写成后者。会出错

2.连接SQLSERVER时,

Initial Catalog=test1;这一项表示连接的数据库名,要注意,这里的test1是数据库的名称。不能给他加上路径,也不能加上后缀*.mdf。写成

Initial Catalog=D:\Program Files\Microsoft SQL Server\MSSQL10.MSSQLSERVER\MSSQL\DATA\test1.mdf;会出错~~











以上是关于VC_ADO连接SQLSERVER时连接字符串的模式的主要内容,如果未能解决你的问题,请参考以下文章

在运行时更改连接字符串——这是正确的方法吗?

Sql-Server 配置远程连接以及C#连接字符串

sqlserver连接数超过100无法连接

SQL Server Express 连接字符串错误

拥有用于开发和生产的连接字符串

C# 连接SQLSERVER2008 提示字符串''后的引号不完整