Share via


OLE DB 資料來源物件 (SQL Server Compact)

在 OLE DB 程式設計中,資料來源物件代表提供者的基礎資料存放區。若要連接至 OLE DB 提供者,取用者必須先建立並初始化資料來源物件的執行個體。

SQL Server Compact 資料來源物件

在 Microsoft SQL Server Compact 4.0 中,資料來源物件的建立方式是,呼叫 OLE CoCreateInstance 函數,然後傳遞 SQL Server Compact 4.0 之 OLE DB 提供者的 CLSID (類別識別碼),也就是 CLSID_SQLSERVERCE。因為 SQL Server Compact 4.0 是同處理序伺服器,所以會使用 CLSCTX_INPROC_SERVER 巨集建立 SQL Server Compact 4.0 OLE DB 物件的執行個體,以便指示可執行的內容。

SQL Server Compact 4.0 只使用 DBPROP_INIT_DATASOURCE 屬性來指定需要的資料來源。此屬性會傳遞到要開啟的資料庫檔案的整個路徑。設定此屬性之後,取用者就會初始化資料來源物件。這可以建立取用者與 SQL Server Compact 4.0 之間交換資料所需的環境。將資料來源物件初始化之後,取用者可以取得關於資料儲存的自我描述資訊,但是還不能存取資料。此資料來源物件接著可以用來建立一個或多個工作階段物件。而這些物件又可以再用來建立需要的交易、命令及資料列集。

SQL Server Compact 4.0 的 OLE DB 提供者也可以讓您建立新的資料庫。如需詳細資訊,請參閱<以 OLE DB 建立資料庫>。

這也支援密碼防護的資料庫。若有此項安全功能,在資料來源物件初始化時必須提供密碼。如需詳細資訊,請參閱<以 OLE DB 存取密碼保護的資料庫>。

資料來源物件的限制

SQL Server Compact 之 OLE DB 提供者中的資料來源物件有下列限制:

  • SQL Server Compact 並沒有使用 OLE DB 定義的目錄概念。DBPROP_INIT_DATASOURCE 屬性定義要使用的資料庫,而 SQL Server Compact 4.0 的 OLE DB 提供者會將此資料庫視為目前的目錄。

  • 這不支援變更目前資料儲存的功能。想要變更資料儲存的用戶端必須解除資料來源物件初始化、設定新的資料儲存名稱,再將資料來源物件重新初始化。

特定提供者資料來源屬性

SQL Server Compact 4.0 在特定提供者屬性集 DBPROPSET_SSCE_DBINIT 中支援下列特定提供者屬性:

屬性

定義

DBPROP_SSCE_AUTO_SHRINK_THRESHOLD

資料庫檔案允許可用空間百分比,若超過此百分比,就會開始自動壓縮。若其值為 100,就會停用自動壓縮。若未指定,則預設值為 60。

DBPROP_SSCE_DBCASESENSITIVE

判斷資料庫定序是否區分大小寫的布林值。若要啟用定序區分大小寫,必須設定為 true,或設定為 false 則定序不區分大小寫。若未指定,則預設值為 false。

附註附註
從 SQL Server Compact SP1 版本開始導入了這個屬性。如需詳細資訊,請參閱<使用定序 (SQL Server Compact)>。

DBPROP_SSCE_DBPASSWORD

資料庫密碼,最長 40 個字元。若未指定,則預設值為無密碼。如果您啟用資料庫加密,就需要這項屬性。如果您指定密碼,就會啟用資料庫的加密。如需詳細資訊,請參閱<以 OLE DB 存取密碼保護的資料庫>。

DBPROP_SSCE_DEFAULT_LOCK_ESCALATION

在嘗試從資料列擴大到資料表,或是從頁面擴大到資料表之前,一個交易所需的鎖定數目。若未指定,則預設值為 100。

DBPROP_SSCE_DEFAULT_LOCK_TIMEOUT

交易等候鎖定的預設毫秒數。如果未指定,桌上型電腦的預設值為 5000 毫秒,裝置的預設值為 2000 毫秒。

DBPROP_SSCE_ENCRYPTIONMODE

用於維護資料庫檔案安全的加密類型。如需有關加密模式的詳細資訊,請參閱<提供者特定的屬性 (OLE DB)>中的描述。

DBPROP_SSCE_FLUSH_INTERVAL

指定將所有確認的交易排清到磁碟上的間隔時間秒數。若未指定,則預設值為 10。

DBPROP_SSCE_MAXBUFFERSIZE

資料庫大小上限 MB。若未指定,則預設值為 640。

DBPROP_SSCE_MAX_DATABASE_SIZE

資料庫大小上限 MB。若未指定,則預設值為 128。

DBPROP_SSCE_TEMPFILE_DIRECTORY

暫存資料庫的位置。若未指定,則預設值是使用暫時儲存的資料來源屬性中所指定的資料庫。如需詳細資訊,請參閱<使用 OLE DB 指定暫存資料庫的位置>及<暫存資料庫>。

DBPROP_SSCE_TEMPFILE_MAX_SIZE

暫存資料庫大小上限 MB。