Databases Access travadas

Da série “Best of CF-Brasil”…
O ColdFusion Server mantém a conexão a um banco de dados, e caso este seja um Access que você deseje apagar para efetuar o upload de um novo .mdb, não irá conseguir. Uma idéia interessante que surgiu tempos atrás na lista CF-Brasil, do Alexandre Scaramuzza foi gerar um erro (!) na query para derrubar a conexão; algo como fazer SELECT * de uma tabela que não existe.

Idéia interessante não?

Uma outra maneira de destravar temporariamente a conexão é:

<cfset destrava = cfusion_disable_dbconnections("nome_access_datasource","1")>

E para habilitar novamente:

<cfset trava = cfusion_disable_dbconnections("nome_access_datasource","0")>

Permanentemente a opção de travar pode ser desabilitada no ColdFusion Administrator: ao criar datasources ODBC Socket habilite as opções avançadas e desmarque a opção Maintain Connections (marcada como default). Reinicie o servidor ColdFusion. Desse modo as conexões ao .mdb em questão nunca serão exclusivas, o que requer cuidados na hora de atualizar a database, principalmente num meio multi-usuários.

Para desconectar temporariamente de todas as datasources:

<cfset CFUSION_DBCONNECTIONS_FLUSH()>

Leitura interessante:
How are database connections handled in ColdFusion?


One Comment on “Databases Access travadas”

  1. Fernando da Silva Trevisan disse:

    Fabio, MUITO BOM este post, cara. Não trabalho com access há muitoooo tempo, mas a informação veio completa, com links de referência e tudo o mais. Realmente muito bom, cara, parabéns 🙂

    [ ]’s