JetDetachDatabase2 函数
适用于: Windows |Windows Server
JetDetachDatabase2 函数
JetDetachDatabase2 函数释放以前附加到数据库会话的数据库文件。
Windows XP:JetDetachDatabase2 在 Windows XP 中引入。
JET_ERR JET_API JetDetachDatabase2(
__in JET_SESID sesid,
__in const tchar* szFilename,
__in JET_GRBIT grbit
);
parameters
sesid
用于 API 调用的数据库会话上下文。
szFilename
要分离的数据库的名称。 如果 szFilename 为 NULL 或空字符串,则会分离附加到 sesid 的所有数据库。
grbit
一组指定以下选项的零个或多个位。
值 |
含义 |
---|---|
JET_bitForceCloseAndDetach |
强制关闭和分离数据库。 如果不支持JET_bitForceCloseAndDetach,将返回JET_errForceDetachNotAllowed。 |
JET_bitForceDetach |
强制分离数据库。 如果不支持JET_bitForceDetach,将返回JET_errForceDetachNotAllowed。 |
返回值
此函数返回具有以下返回代码之一 的JET_ERR 数据类型。 有关可能的 ESE 错误的详细信息,请参阅 可扩展存储引擎错误 和 错误处理参数。
返回代码 |
说明 |
---|---|
JET_errSuccess |
操作已成功完成。 |
JET_errBackupInProgress |
正在备份数据库,无法分离。 |
JET_errDatabaseInUse |
JetOpenDatabase 已打开数据库。 在分离之前,必须关闭数据库。 |
JET_errDatabaseNotFound |
以前未附加数据库 (请参阅 JetAttachDatabase 或 JetAttachDatabase2) 。 |
JET_errForceDetachNotAllowed |
不支持JET_bitForceDetach。 |
JET_errInTransaction |
尝试在事务中分离数据库。 |
备注
如果使用 JetAttachDatabase) (打开附加数据库,则必须在分离之前使用 JetCloseDatabase 关闭该数据库。
仅限 Windows 2000:在调用 JetTerm 之前尚未分离的数据库将在下一次调用 JetInit 时自动重新附加。
要求
要求 | 值 |
---|---|
客户端 |
需要 Windows Vista 或 Windows XP。 |
服务器 |
需要 Windows Server 2008 或 Windows Server 2003。 |
标头 |
在 Esent.h 中声明。 |
Library |
使用 ESENT.lib。 |
DLL |
需要ESENT.dll。 |
Unicode |
实现为 JetDetachDatabase2W (Unicode) 和 JetDetachDatabase2A (ANSI) 。 |
另请参阅
JET_ERR
JET_GRBIT
JET_SESID
JET_TABLEID
JetAttachDatabase
JetAttachDatabase2
JetCloseDatabase
JetCreateDatabase
JetCreateDatabase2
JetInit
JetOpenDatabase
JetTerm