主题:一个困扰我多日的连接Sql Server 2005的问题
最近参加了学校实验室里的项目,我负责使用 Visual Studio 2005 的 VC++ 连接 Sql Server 2005。
出问题的部分代码如下:
// 初始化 OLE/COM 库环境
::CoInitialize(NULL);
try
{
// 创建 Connection 对象
m_pConnection.CreateInstance("ADODB.Connection");
//设置连接字符串,必须是 BSTR 型或是 _bstr_t 类型
_bstr_t strConnect = "Provider=SQLOLEDB.1;Persist Security Info=False;Integrated Security=true;Initial Catalog=DataFromExcel;Server=(local);";
_bstr_t username = "sa";
_bstr_t password = "ichliebedich";
m_pConnection->Open(strConnect, username, password, adModeShareDenyWrite);
}
catch(_com_error e)
{
// 显示错误信息
AfxMessageBox(e.Description(), MB_OK|MB_ICONINFORMATION, 0);
}
问题是运行至 m_pConnection->Open 语句时即抛出异常,提示说是“参数类型不正确,或不在可以接受的范围内,或与其他参数冲突”。
我认为应该是连接字符串 strConnect 中内容设置的有问题。于是在网上搜了搜,也参考了一些书籍,多次试着改变 strConnect 的格式内容,可是这个问题始终没有解决。
正确的书写格式是什么呢?还是其他地方出了问题?希望大家有谁知道的帮个忙,不胜感激啊![em2]
出问题的部分代码如下:
// 初始化 OLE/COM 库环境
::CoInitialize(NULL);
try
{
// 创建 Connection 对象
m_pConnection.CreateInstance("ADODB.Connection");
//设置连接字符串,必须是 BSTR 型或是 _bstr_t 类型
_bstr_t strConnect = "Provider=SQLOLEDB.1;Persist Security Info=False;Integrated Security=true;Initial Catalog=DataFromExcel;Server=(local);";
_bstr_t username = "sa";
_bstr_t password = "ichliebedich";
m_pConnection->Open(strConnect, username, password, adModeShareDenyWrite);
}
catch(_com_error e)
{
// 显示错误信息
AfxMessageBox(e.Description(), MB_OK|MB_ICONINFORMATION, 0);
}
问题是运行至 m_pConnection->Open 语句时即抛出异常,提示说是“参数类型不正确,或不在可以接受的范围内,或与其他参数冲突”。
我认为应该是连接字符串 strConnect 中内容设置的有问题。于是在网上搜了搜,也参考了一些书籍,多次试着改变 strConnect 的格式内容,可是这个问题始终没有解决。
正确的书写格式是什么呢?还是其他地方出了问题?希望大家有谁知道的帮个忙,不胜感激啊![em2]