为什么我的数据源在Lucee中找不到?

时间:2016-02-24 04:13:45

标签: datasource lucee

我在我的Windows 2012服务器上安装了最新版本的Lucee(4.5)。我用数据源配置它。数据源验证为OK。在我的代码中,我只是尝试使用以下方式连接到它:

<cfquery name=q1 datasource=test>
  select * from table1
</cfquery>

但是我收到一条错误,说数据源不存在且可用的数据源名称是[]

我正在使用的数据库是MySQL。

为什么它看不到我的数据源?

2 个答案:

答案 0 :(得分:4)

与Adobe CF不同,每个Lucee站点都在自己的上下文中运行。这是为分离和控制设置而设计的 - 特别有助于共享托管。

Lucee Server中有三层设置。优先权是自下而上的。

  1. 服务器管理员适用于整个服务器。
  2. Web管理员可以覆盖或扩充服务器设置,它仅适用于该Web上下文(如果您使用mod_cfml,则为唯一的URL)。
  3. Application.cfc中的设置可以覆盖特定应用程序的设置。
  4. 将数据源放在网络管理员中没有任何问题,但显然你把它放错了。我猜你是在与localhost关联的默认上下文中。 URL中的主机名控制您正在编辑的Web上下文。即。

    本地主机/ lucee /管理/ web.cfm anotherHostName.com/lucee/admin/web.cfm

    如果要查看所有Web上下文的列表,请登录服务器管理员并滚动到主页底部。

答案 1 :(得分:0)

你有没有尝试过:

data table1;
    format id date $9.;
    input id date;
    datalines;
    1 12may2016
    2 13may2016
    ;
run;

data table2;
    format id date $9.;
    input id date ser;
    datalines;
    1 12may2016 123456789
    2 13may2016 012345678
    ;
run;

data names;
    format name $6.;
    input name;
    datalines;
    table1
    table2
    ;
run;

data _null_;
   set names nobs = n;
   call symput ('cnt', n);
run;

%macro test;
%do i = 1 %to &cnt;
    data first;
        set names (obs = 1);
    run;
    data _null_;
        set first;
        call symput ('name', trim(name));
    run;
    data run_&name;
        set &name (keep = id date ser);
    run;
    data names;
        set names (firstobs = 2);
    run;
%end;
%mend test;

%test;

奇怪的错误。这应该是好的亚当?