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. 输出时,如果给定的缓冲区太小,则包含所需的缓冲区大小(以字符为单位),包括任何尾随空格。
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 参考。