Função JetAttachDatabase2
Aplica-se a: Windows | Windows Server
Função JetAttachDatabase2
A função JetAttachDatabase2 anexa um arquivo de banco de dados para uso com uma instância de banco de dados e especifica um tamanho máximo para esse banco de dados. Para usar o banco de dados, ele precisará ser aberto posteriormente com JetOpenDatabase.
JET_ERR JET_API JetAttachDatabase2(
__in JET_SESID sesid,
__in const tchar* szFilename,
__in const unsigned long cpgDatabaseSizeMax,
__in JET_GRBIT grbit
);
Parâmetros
sesid
O contexto de sessão do banco de dados que será usado para a chamada à API.
szFilename
O nome do banco de dados a ser anexado.
cpgDatabaseSizeMax
O tamanho máximo, em páginas de banco de dados, para o banco de dados. O tamanho da página de banco de dados padrão é de 4 quilobytes, que podem ser alterados usando a função JetSetSystemParameter antes de criar um banco de dados.
Passar zero significa que não há o máximo imposto pelo mecanismo de banco de dados.
grbit
Um grupo de bits que contém as opções a serem usadas para essa chamada, que incluem zero ou mais dos seguintes:
Valor |
Significado |
---|---|
JET_bitDbDeleteCorruptIndexes |
Se JET_paramEnableIndexChecking tiver sido definido, todos os índices sobre dados Unicode serão excluídos. Para obter mais detalhes, consulte a seção Comentários. |
JET_bitDbDeleteUnicodeIndexes |
Todos os índices sobre dados Unicode serão excluídos, independentemente da configuração de JET_paramEnableIndexChecking. Para obter mais detalhes, consulte a seção Comentários. |
JET_bitDbReadOnly |
Impede modificações no banco de dados. |
JET_bitDbUpgrade |
Reservado para uso futuro. |
Valor Retornado
A função retorna um dos códigos de erro JET_ERR . A seguir estão os retornados com mais frequência. (Para obter uma lista completa de erros para essa API, consulte Códigos de erro extensíveis do mecanismo de armazenamento.)
Código de retorno |
Descrição |
---|---|
JET_errSuccess |
A operação foi concluída com sucesso. |
JET_errBackupInProgress |
A anexação de um banco de dados não é permitida durante um backup. |
JET_errDatabaseFileReadOnly |
O arquivo de banco de dados especificado por szFilename deve ser gravável. O atributo Read-Only não deve ser definido e o processo em execução deve ter privilégios suficientes para gravar no arquivo. |
JET_errDatabaseInUse |
O arquivo de banco de dados já está aberto por outro processo. |
JET_errDatabaseInvalidPath |
Um caminho inválido foi fornecido em szFilename. szFilename deve ser não NULL e consultar um caminho válido. |
JET_errDatabaseSharingViolation |
O arquivo de banco de dados já foi anexado por uma sessão diferente. |
JET_errFileNotFound |
O arquivo fornecido em szFilename não existe. |
JET_errPrimaryIndexCorrupted |
Há um erro com o índice primário. Isso pode ser de corrupção física (como corrupção de disco ou memória). Ele também pode ser retornado ao anexar um banco de dados modificado pela última vez em um sistema operacional mais antigo e o índice primário é sobre uma coluna com dados Unicode. Confira as observações para obter mais informações sobre índices sobre dados Unicode. |
JET_errSecondaryIndexCorrupted |
Há um erro com um índice secundário. Isso pode ser de corrupção física (como corrupção de disco ou memória). Ele também pode ser retornado ao anexar um banco de dados modificado pela última vez em um sistema operacional mais antigo e um índice secundário é sobre uma coluna com dados Unicode. Confira as observações para obter mais informações sobre índices sobre dados Unicode. Os índices secundários são completamente recriados quando um banco de dados é desfragmentado com um utilitário offline usando o seguinte comando: esentutl -d. |
JET_errTooManyAttachedDatabases |
Somente um número finito de bancos de dados pode ser anexado por instância. Atualmente, o limite é de sete bancos de dados por instância. |
JET_wrnDatabaseAttached |
Um aviso não fatal que indica que o arquivo de banco de dados já foi anexado por esta sessão. |
Comentários
O arquivo de banco de dados é desanexado usando JetDetachDatabase ou JetDetachDatabase2.
Consulte JetAttachDatabase para obter comentários.
Requisitos
Requisito | Valor |
---|---|
Cliente |
Requer Windows Vista, Windows XP ou Windows 2000 Professional. |
Servidor |
Requer o Windows Server 2008, o Windows Server 2003 ou o Windows 2000 Server. |
Cabeçalho |
Declarado em Esent.h. |
Biblioteca |
Use ESENT.lib. |
DLL |
Requer ESENT.dll. |
Unicode |
Implementado como JetAttachDatabase2W (Unicode) e JetAttachDatabase2A (ANSI). |
Consulte Também
Arquivos extensíveis do mecanismo de armazenamento
JET_ERR
JET_GRBIT
JET_SESID
JET_TABLEID
JetAttachDatabase
JetCreateDatabase
JetOpenDatabase
JetSetSystemParameter