2017-03-04 109 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

转储整个会话范围,有可能你会惊讶你会在那里找到:-)