2012-05-16 24 views
5

在Berkeley DB的文檔,更說明的原因可以是以下:如何確定確切的原因,爲什麼berkeley db在db-> open上返回EINVAL?

指定了無效的標誌的值或參數(例如,未知數據庫類型,頁面尺寸,散列函數,填充字節,字節順序)還是與指定數據庫不兼容的標誌值或參數。 指定了DB_THREAD標誌,快速互斥對此架構不可用。

DB_THREAD標誌被指定爲DB-> open,但未指定給創建DB句柄的環境的DB_EN​​V-> open調用。

使用DB_THREAD標誌或提供的數據庫環境支持事務處理指定了支持平面文本文件。

我使用的唯一標誌是DB_CREATE,數據庫類型是DB_BTREE。我想知道導致EINVAL的確切原因,但我沒有找到任何可以幫助我在「DB」結構內的冗長配置(在DB_EN​​V中,他們有set_verbose方法,但我不使用DB_EN​​V )。

回答

0

您可以試一試DB->err()these examples。如果我沒有記錯,可以設置一個環境變量(shell環境變量,你可以設置export X=Y),並且庫會開始向stderr發送錯誤消息,但它可能是DB Env的東西......對不起,找不到信息現在。

相關問題