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 缓冲区的大小(以字符为单位),包括任何尾随空格。 输出时,如果给定的缓冲区太小,则包含所需的缓冲区大小(以字符为单位),包括任何尾随空格。
返回
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_CREATE_SQL_PROCESS
无法创建 SQL Server 进程。LOCALDB_ERROR_SQL_SERVER_STARTUP_FAILED
SQL Server 进程已启动,但 SQL Server 启动失败。LOCALDB_ERROR_AUTO_INSTANCE_CREATE_FAILED
不能创建自动实例。 有关错误详细信息,请参阅 Windows 应用程序事件日志。LOCALDB_ERROR_INTERNAL_ERROR
发生了意外错误。 有关详细信息,请参阅事件日志。
详细信息
连接缓冲区参数 (wszSqlConnection) 和连接缓冲区大小参数 (lpcchSqlConnection) 都是可选的。 下表显示了为使用这些参数提供的选项及其结果。
缓冲区 |
缓冲区大小 |
理由 |
操作 |
---|---|---|---|
NULL |
NULL |
用户想要启动实例,但不需要管道名称。 |
启动实例(不返回管道且不要求返回缓冲区大小)。 |
NULL |
现值 |
用户要求提供输出缓冲区大小。 (在下一次调用中,用户将可能要求实际启动。) |
返回所需的缓冲区大小(不启动且不返回管道)。 结果为 S_OK。 |
现值 |
NULL |
不允许;输入不正确。 |
返回结果为 LOCALDB_ERROR_INVALID_PARAMETER。 |
现值 |
现值 |
用户想要启动实例,并且在启动后需要管道名称以便连接到此实例。 |
检查缓冲区大小,启动实例,并在缓冲区中返回管道名称。 缓冲区大小参数返回“server=”字符串的长度,不包括终止 null 值。 |
有关使用 LocalDB API 的代码示例,请参阅 SQL Server Express LocalDB 参考。