SDL Tridion 2011 SP1代码挂起创建代理查询对象

SDL Tridion 2011 SP1代码挂起创建代理查询对象,tridion,tridion-content-delivery,Tridion,Tridion Content Delivery,客户机正在尝试将一些代理查询代码集成到现有的web应用程序中。它们具有以下代码: 公共字符串doItNow(int-keyA, 字符串模式A, 字符串templateIdA)引发异常{ loggerInfo(“doItNow.start”+ ,键:“+keyA”+ ,架构:“+schemaA”+ ,templateId:“+templateId); StringBuffer sb=新的StringBuffer(); PublicationCriteria pubCriteria=新的Public

客户机正在尝试将一些代理查询代码集成到现有的web应用程序中。它们具有以下代码:

公共字符串doItNow(int-keyA,
字符串模式A,
字符串templateIdA)引发异常{
loggerInfo(“doItNow.start”+
,键:“+keyA”+
,架构:“+schemaA”+
,templateId:“+templateId);
StringBuffer sb=新的StringBuffer();
PublicationCriteria pubCriteria=新的PublicationCriteria(keyA);
loggerInfo(“doItNow.PC:+pubCriteria”);
SchemaTitleCriteria SchemaTitleCriteria=新SchemaTitleCriteria(schemaA);
loggerInfo(“doItNow.STC:+schemaTitleCriteria”);
AndCriteria AndCriteria=新AndCriteria(pubCriteria,schemaTitleCriteria);
loggerInfo(“doItNow.AC:+和标准);
查询=新查询();
loggerInfo(“doItNow.Query.0:+Query”);
query.setCriteria(andCriteria);
loggerInfo(“doItNow.Query.1:+Query”);
String[]results=query.executeQuery();
for(字符串r:结果){
loggerInfo(“doItNow.\tres:+r);
}
组件展示组装商cpa=新组件展示组装商(keyA);
loggerInfo(“doItNow.CPA:+CPA”);
用于(字符串项:结果){
loggerInfo(“:>”+项);
sb.append(cpa.getContent(item,templateIdA));
}
使某人返回字符串();
}
代码执行到创建查询对象为止:

Query Query=new Query();

在这一点上,它挂起了。cd_core日志文件中未出现任何错误,说明原因。是否有人可以建议可以进一步调查调试的领域,或建议解决方案?

尝试更改以下行:

query.setCriteria(andCriteria);
致:

SDL LiveContent示例中有一条注释建议进行此更改


您是否添加了正确的包含项?(Tridion.ContentDelivery.DynamicContent.Query命名空间) 同样根据Chris的建议,Tridion2011中的查询没有属性作为
setCriteria
。 改用
query.Criteria

您是否在cd_storage_conf.xml中实现了必要的更改?

JRE版本1.6.0.29和MSSQL jdbc驱动程序存在已知问题。您需要降级或升级到其他JRE版本


该问题似乎与驱动程序报告的问题非常相似,您也看不到任何错误消息。

我建议您这样做,尽管目前代码运行的距离还不远;)可能值得一查。正在使用什么版本的JRE?版本1.6.0.29在jdbc驱动程序连接到DB时出现一些问题。我希望这里不是这样。Ram,就是这样——日志上写着“java.runtime.version=1.6.0_29-b11”。贴出答案,我会接受:)
query.Criteria = andCriteria;