Applies to:SQL Server
啟動指定的 SQL Server Express LocalDB 實例。
Header file:msoledbsql.h
Syntax
HRESULT LocalDBStartInstance(
PCWSTR pInstanceName ,
DWORD dwFlags ,
LPWSTR wszSqlConnection ,
LPDWORD lpcchSqlConnection
);
Arguments
pInstanceName
[輸入]要啟動的LocalDB實例名稱。
dwFlags
[輸入]保留供日後使用。 目前應該設定為 0。
wszSqlConnection
[輸出]要儲存 連接字串 至 LocalDB 實例的緩衝區。
lpcchSqlConnection
[Input/Output] On input contains the size of the wszSqlConnection buffer in characters, including any trailing nulls. 在輸出中,如果指定的緩衝區大小太小,則包含字元中所需的緩衝區大小,包括任何尾端 Null。
Returns
S_OK:函式成功。
| Error | Description |
|---|---|
| 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 | The specified buffer wszSqlConnection is too small. |
| 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 | 發生未預期的錯誤。 如需詳細資訊,請參閱事件記錄檔。 |
Details
Both the connection buffer argument (wszSqlConnection) and the connection buffer size argument (lpcchSqlConnection) are optional. 下表顯示使用這些自變數及其結果的選項。
| Buffer | Buffer size | Rationale | Action |
|---|---|---|---|
NULL |
NULL |
使用者想要啟動實例,而且不需要管道名稱。 | 啟動實例(沒有管道傳回,也沒有必要的緩衝區大小傳回)。 |
NULL |
Present | 使用者要求輸出緩衝區大小。 (在下一次呼叫中,使用者可能會要求實際開始。 | 傳回必要的緩衝區大小(沒有開始,也沒有管線傳回)。 結果為 S_OK。 |
| Present | NULL |
不允許;輸入不正確。 | 傳回的結果為 LOCALDB_ERROR_INVALID_PARAMETER。 |
| Present | Present | 使用者想要啟動實例,並且需要管道名稱在啟動之後連線到它。 | 檢查緩衝區大小、啟動 實例,並傳回緩衝區中的管道名稱。 緩衝區大小自變數會傳回 「server=」 字串的長度,不包括終止 Null。 |
如需使用 LocalDB API 的程式碼範例,請參閱 SQL Server Express LocalDB 參考。