首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >SQL Server 2008 -打开记录集时崩溃

SQL Server 2008 -打开记录集时崩溃
EN

Stack Overflow用户
提问于 2012-09-12 13:29:19
回答 2查看 593关注 0票数 0

我必须对交付给客户的软件进行一些维护。

该软件使用数据库,为了在我的计算机上进行一些调试会话,我必须安装SQL server2008 R2和该软件使用的两个数据库(MyData和MyRecord)。

我在进行设置(登录,将数据库映射到sa用户)时遇到了一些问题,但我设法解决了这些问题。

现在,我正在尝试运行该软件,但当它试图打开一个记录集时,它在初始化期间崩溃。

首先,我执行以下操作来连接到数据库:

代码语言:javascript
运行
复制
::CoInitialize(NULL);
try   
{   
    HRESULT hr = pConnection.CreateInstance("ADODB.Connection");   
    if (SUCCEEDED(hr))   
    {   
        pConnection->ConnectionTimeout = 0;   
        CString strConnect;
        strConnect.Format(_T("Data Source=MyRecord;uid=sa;pwd=sa123456;"));
        hr = pConnection->Open((_bstr_t)strConnect,"","", -1);
    }   
}

将pConnection定义为:

代码语言:javascript
运行
复制
_ConnectionPtr pConnection;

之后,我尝试使用以下代码从数据库"MyRecord“中读取一些数据:

代码语言:javascript
运行
复制
CString sqlQuery = _T("select * from 通道1设置参数表");
try
{
    pRecordset.CreateInstance(_uuidof(Recordset));
    pRecordset->Open(_bstr_t(sqlQuery ),pConnection.GetInterfacePtr(),adOpenDynamic,adLockOptimistic,adCmdText);
} 
catch(_com_error   *e)  
{  
    AfxMessageBox(e->Description());   
}  

将pRecordSet定义为:

代码语言:javascript
运行
复制
_RecordsetPtr pRecordset;

当行"pRecordset->Open(...)“运行时,软件将在Recordset15::Open(...)函数中崩溃msado15.tli文件的。

在此记录集15::Open函数中,raw_Open(...)函数返回DB_E_NOTABLE。

但是,我确信表dbo。MyRecord数据库中存在通道%1设置参数表。

错误是:

我不知道问题出在SQL服务器配置还是代码上。

这段代码在客户的PC上运行得很好,所以我认为这是一个配置问题。提前感谢!!

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2012-09-12 14:47:59

在此数据库的ODBC连接器中,未将设置"Change the default database to“设置为MyRecord数据库。

我已经勾选了复选框,选择了数据库,现在它工作正常。

票数 0
EN

Stack Overflow用户

发布于 2012-09-12 14:48:56

catch语句应为catch(_com_error & e)

MFC经常通过指针抛出异常,但是_com_error是一个引用。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/12381715

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档