LocalDBStartInstance 函數
啟動指定的 SQL Server Express LocalDB 執行個體。
標頭檔: sqlncli.h
語法
HRESULT LocalDBStartInstance(
PCWSTR pInstanceName,
DWORD dwFlags,
LPWSTR wszSqlConnection,
LPDWORD lpcchSqlConnection
);
參數
pInstanceName
[輸入] 要啟動的 LocalDB 執行個體名稱。
dwFlags
[輸入] 保留供日後使用。 目前應設為 0。
wszSqlConnection
[輸出] 儲存 LocalDB 執行個體連接字串的緩衝區。
lpcchSqlConnection
[輸入/輸出]在輸入中,包含 字元中 wszSqlConnection 緩衝區的大小,包括任何尾端 Null。 輸出時,如果指定的緩衝區大小太小,則會包含所需的緩衝區大小 (以字元為單位),包括尾端的 Null。
傳回
S_OK
此函數已成功。
LOCALDB_ERROR_NOT_INSTALLED
SQL Server Express LocalDB 未安裝在電腦上。
LOCALDB_ERROR_INVALID_PARAMETER
一個或多個指定的輸入參數無效。
LOCALDB_ERROR_INVALID_INSTANCE_NAME
指定的執行個體名稱無效。
LOCALDB_ERROR_UNKNOWN_INSTANCE
執行個體不存在。
LOCALDB_ERROR_INSUFFICIENT_BUFFER
指定的緩衝區 wszSqlConnection 太小。
LOCALDB_ERROR_WAIT_TIMEOUT
嘗試取得同步處理鎖定時發生逾時。
LOCALDB_ERROR_INSTANCE_FOLDER_PATH_TOO_LONG
應儲存執行個體的路徑長度超過 MAX_PATH。
LOCALDB_ERROR_CANNOT_GET_USER_PROFILE_FOLDER
無法擷取使用者設定檔資料夾。
LOCALDB_ERROR_CANNOT_ACCESS_INSTANCE_FOLDER
無法存取執行個體資料夾。
LOCALDB_ERROR_CANNOT_ACCESS_INSTANCE_REGISTRY
無法存取執行個體登錄。
LOCALDB_ERROR_CANNOT_MODIFY_INSTANCE_REGISTRY
無法修改執行個體登錄。
LOCALDB_ERROR_CANNOT_CREATE_SQL_PROCESS
無法建立 SQL Server 處理序。
LOCALDB_ERROR_SQL_SERVER_STARTUP_FAILED
已啟動 SQL Server 處理序,但是 SQL Server 啟動失敗。
LOCALDB_ERROR_INSTANCE_CONFIGURATION_CORRUPT
執行個體組態已損毀。
LOCALDB_ERROR_AUTO_INSTANCE_CREATE_FAILED
無法建立自動執行個體。 請參閱 Windows 應用程式事件記錄檔,以取得錯誤詳細資料。
LOCALDB_ERROR_INTERNAL_ERROR
發生意外錯誤。 請參閱事件記錄檔,以取得詳細資料。
詳細資料
連接緩衝區引數 (wszSqlConnection) 和連接緩衝區大小引數 (lpcchSqlConnection) 都是選擇性的。 下表顯示使用這些引數的選項及其結果。
Buffer | 緩衝區大小 | 基本原理 | 動作 |
---|---|---|---|
NULL | NULL | 使用者想要啟動 實例,而且不需要管道名稱。 | 啟動執行個體 (不傳回管道且不傳回所需的緩衝區大小)。 |
NULL | 存在 | 使用者要求輸出緩衝區大小。 (在下一個呼叫中,使用者可能會要求實際啟動。) | 傳回所需的緩衝區大小 (不啟動且不傳回管道)。 結果為 S_OK。 |
存在 | NULL | 不允許;輸入不正確。 | 傳回的結果為 LOCALDB_ERROR_INVALID_PARAMETER。 |
存在 | 存在 | 使用者想要啟動執行個體,且在啟動後,需要管道名稱以連接至此執行個體。 | 檢查緩衝區大小、啟動執行個體,然後傳回緩衝區中的管道名稱。 緩衝區大小引數會傳回 「server=」 字串的長度,不包括終止 Null。 |
如需使用 LocalDB API 的程式碼範例,請參閱SQL Server Express LocalDB 參考。