2017-03-04 110 views
1

我的任務是幫助緩慢接管我們組織的大型ColdFusion應用程序。我沒有找到語法或功能非常難以理解,但我有一兩件事,我無法找到答案:Coldfusion - Session.dsn混淆

<cfquery name="testquery" datasource="#Session.dsn#"> 

我的問題很簡單:(至少聽起來這種方式:)

什麼是「#Session.dsn#」引用?

盡我所知,它不是用戶定義的變量,而是內置於CF中的內容。我錯了嗎?如果我要刺,我會說它是一個通用變量,指的是當前分配給該網站的數據庫。我沒有完成設置過程或CF管理員的配置,就像這個項目已經完成的那樣。我的猜測是否遙遠?

+0

您可以在Coldfusion Administrator中定義數據庫連接。 'cfquery'標籤的'datasource'屬性採用在那裏定義的名稱。 –

+5

'dsn'通常用於指定一個數據源名稱,它將把您的查詢指向正確的數據庫。會話是一個範圍。會話變量可以在任何地方定義,執行代碼搜索,但我會首先查看Application.cfc的onSessionStart()。 – Henry

+0

好的,那將是一個很好的起點,謝謝! – Jensen010

回答

2

正如評論所說,這很可能是一個數據源名稱。您應該轉儲它以確定:<cfdump var='#Session.dsn#'>

+0

這是一個奇妙的想法,我還沒有在我的腦海中建立這種聯繫,謝謝! – Jensen010

+0

轉儲整個會話範圍,有可能你會驚訝你會在那裏找到:-)