首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >microsoft access数据库-“记录太大”异常

microsoft access数据库-“记录太大”异常
EN

Stack Overflow用户
提问于 2013-03-11 13:54:08
回答 1查看 655关注 0票数 0

我有一些从MS Access数据库读取的代码。该守则如下:

代码语言:javascript
运行
复制
CDatabase database;
CString sDriver = "MICROSOFT ACCESS DRIVER (*.mdb)";
CString sDsn;
CString sFile = "MyDB.mdb";
CString sField;

// Build ODBC connection string
sDsn.Format("ODBC;DRIVER={%s};DSN='';DBQ=%s", sDriver, sFile);
TRY
{
    // Open the database
    database.Open(NULL, false, false, sDsn);

    // Allocate the recordset
    CRecordset recset(&database);

    // Execute the query
    recset.Open(CRecordset::forwardOnly, "SELECT NAME FROM INFOTABLE", CRecordset::readOnly);

    // Loop through each record
    while( !recset.IsEOF() )
    {
        // Copy each column into a variable
        recset.GetFieldValue("NAME", sField);

        // Add the obtained field to a drop-down box
        m_dropDown.AddString(sField);

        // goto next record
        recset.MoveNext();
    }
    // Close the database
    database.Close();
}
CATCH(CDBException, e)
{
    // If a database exception occured, show error msg
    AfxMessageBox("Database error: "+e->m_strError);
}
END_CATCH;

我的问题是,异常会抛出(有时是)。消息框显示,

代码语言:javascript
运行
复制
Database error: Record too large

我的数据库有> 30000条记录.

为什么会出现这种异常?另外,为什么有时会发生这种情况?

谢谢!

EN

回答 1

Stack Overflow用户

发布于 2013-03-11 14:12:30

你可以自己找答案,但无论如何引用MSDN支持 -

桌子上的记录..。在Microsoft数据库中,仅限于略低于2K,不包括备忘录字段。“记录太大”错误发生在向这样的记录中输入数据时,而不是在定义表结构时。

您可以尝试使用备忘录类型,就像这个回答建议的那样。

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

https://stackoverflow.com/questions/15340383

复制
相关文章

相似问题

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