Usando um datasource padrão
Problema:
Voce quer definir um datasource padrão para todas as queries em vez de especificar o atributo "datasource" em todas as chamadas da tag <cfquery>.
Solução:
O ColdFusion 9 introduziu a possibilidade de se criar um datasource padrão para uma aplicação inteira.
Explicação detalhada:
Antes da versão 9, toda tag <cfquery> tinha que ter o atributo datasource que especificava qual datasource a ser usado pelo ColdFusion ao executar uma determinada query.
Por exemplo:
<cfquery datasource="wine" name="qGetWine">
SELECT * FROM tbl_wine
</cfquery>
A query acima selecionaria todos os registros da tabela tbl_wine no database que foi especificado no atributo datasource. Uma maneira de se contornar isso, seria colocar o datasource numa variável do escopo application e então usar essa variável no lugar do valor hardcoded.
A mesma query acima, usando esse método, ficaria assim:
<cfquery datasource="#application.dsn#" name="qGetWine">
SELECT * FROM tbl_wine
</cfquery>
Com o ColdFusion 9 tudo que se tem de fazer, é definir a variável datasource no Application.cfc:
<cfcomponent>
<cfset this.name = "wineDB" />
<cfset this.datasource = "wine">
</cfcomponent>
Agora, por termos definido essa variável, a aplicação não precisa referenciar o atributo datasource quando usar a tag <cfquery>. O datasource wine agora será usado por padrão se outro datasource não for especificado. Esse datasource tambem será utilizado com a tag <cfstoredproc>.
Então, o exemplo acima se torna:
<cfquery name="qGetWine">
SELECT * FROM tbl_wine
</cfquery>
Essa nova "feature" vai nos economizar bastante tempo.
0 responses to “Usando um datasource padrão”