如何从SQL Server解析“未声明游标”

如何从SQL Server解析“未声明游标”,sql,sql-server,spring,websphere,Sql,Sql Server,Spring,Websphere,我正在通过WebSphere中的Spring连接到SQL Server。下面我有一个非常简单的动态SQL,它抛出了未声明的游标 SELECT TOP 1 short_desc shortDescription FROM product.prs.PRODUCT_SKN (nolock) WHERE prod_sales_div_code = 'XXX' AND product_nbr = ? 数据源的一个相关设置是选择模式为光标。我不确定我需要做什么来解决这个错误

我正在通过WebSphere中的Spring连接到SQL Server。下面我有一个非常简单的动态SQL,它抛出了未声明的游标

SELECT TOP 1
    short_desc shortDescription
FROM
    product.prs.PRODUCT_SKN (nolock)
WHERE
    prod_sales_div_code = 'XXX'
    AND product_nbr = ?
数据源的一个相关设置是选择模式为光标。我不确定我需要做什么来解决这个错误

编辑呼叫代码为:
findShortDescriptionQuery.get.findObjectByNamedParamofproductNumber,productId

试着用nolock而不仅仅是nolock说话。sql server的最新版本不再支持后一种语法。

我将nolock指令连同TOP 1一起删除,问题就消失了。这让我怀疑它与JDBC驱动程序有关


此解决方案不太理想,但就我的目的而言,效果很好。

检查您正在使用的服务器上的哪个数据库。如果在同一服务器上有不同的数据库,默认情况下,sql客户机通常会选择master或类似的数据库来运行查询(如果不指定)。选择包含要查询的表的表或使用GO,查询将处理错误

你关于“数据源”的最后一句话让我相信你说的是客户端设置?从SSMS运行此查询时是否出现此错误?如果没有,您可能希望更改您的问题,使其更以客户为中心。我在SSMS中没有发现错误。我觉得它必须是一个Spring或WebSphere设置,或者可能是一个驱动程序版本或什么的。然后你需要调整你的问题。张贴你的电话号码。。。否则没人能帮你。奎姆?