回 帖 发 新 帖 刷新版面

主题:SQL Server语句连接问题

我的SQL Server 2000在打开“查询分析器”的时候,连接使用的是“Windows身份验证”,而不是“SQL Server身份验证”。所以在我用VC中ADO编写数据库应用程序时,在连接一个SQL Server数据库的时候,我应该使用什么样的语句?就是下面我列出的这部份代码我该怎么写:
 _ConnectionPtr m_pConnection;
 m_pConnection.CreateInstance("ADODB.Recordset"); //创建Connection对象
 _bstr_t strConnect = "Provider=SQLOLEDB;Server=ntserver;Database=数据库名;uid=sa;pwd=xxx;";
 m_pConnection->Open(strConnect,"","",adModeUnknown);

上面第三条语句我该怎么写,因为我的SQL Server 2000不是用的“SQL Server身份验证”,所以是不是我的第三条语句该这么写:
 _bstr_t strConnect = "Provider=SQLOLEDB;Server=ntserver;Database=数据库名;";

这个部分真的是没有弄明白,希望高手给予指教。多谢,多谢!

回复列表 (共4个回复)

沙发

strConnect = "Provider=SQLOLEDB.1;Integrated Security=SSPI;Persist Security Info=False;Initial Catalog=数据库名;Data Source=ServerName"

板凳

能给我解释一下吗?
Provider=SQLOLEDB.1 后的那个.1是什么意思?

Integrated Security=SSPI 这句是什么意思?

Persist Security Info=False 这句呢?

Data Source=ServerName 这句是不是服务器名?

strConnect = "Provider=SQLOLEDB.1;Integrated Security=SSPI;Persist Security Info=False;Initial Catalog=数据库名;Data Source=ServerName"

这一句是不是用于在网络上连接服务器上的数据库的。我还想知道在单机上连接数据库所用连接字符串要怎么写?

小弟是不是有点贪得无厌?呵呵,还请各位老大,多多帮忙。

3 楼

Provider=SQLOLEDB.1 后的那个.1是指需要 SQLOLEDB version 1 的支持。一般情况下不需要指定。既用 Provider=SQLOLEDB 就可以了。

参数 Data Source 与 Server 的意义相同。

参数 Integrated Security = SSPI 用于指定使用 Windows 认证。也可以使用参数Trusted_Connection=yes  

详细说明可参考 MSDN 的网页:
http://msdn2.microsoft.com/en-us/library/ms677227.aspx


4 楼

多谢,多谢!

我来回复

您尚未登录,请登录后再回复。点此登录或注册