繁体   English   中英

Microsoft Access数据库-“记录太大”异常

[英]microsoft access database - “record too large” exception

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

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;

我的问题是, 有时会引发异常。 显示消息框,

Database error: Record too large

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

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

谢谢!

您可以自己搜索答案,但无论如何都引用MSDN支持 -

Microsoft Access数据库中表中的记录...限制为略低于2K,不包括备注字段。 当您在这样的记录中输入数据时,而不是在定义表结构时,会发生“记录太大”错误。

你可以尝试,因为这对使用备忘录类型的答案提示。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM