我也在Sybase文档中搜索,但没有得到正确的答案。
http://infocenter.sybase.com/help/index.jsp?topic=/com.sybase.39996_1250/html/svrtsg/svrtsg348.htm
我不能在这里张贴程序,但我可以张贴样品
create proc sample (@value_date datetime = null) as
begin
if @value_date is null
select @value_date = some_column from some_table
select a,b,c,d into #ad
from
table_a where a='something'
select a,b,c,d case when a=0 then 0 else b/a
from #ad
end
执行该程序,您将看到错误
现在的问题是Sybase真的有这样的限制,还是仅仅是他们的驱动程序,我们可以说它的驱动程序问题?
调用存储过程时必须使用CallableStatement
如果在将参数值表示为问号的CallableStatement对象中执行存储过程,则比同时对参数使用问号和文字值时获得更好的性能。此外,如果混合使用文字和问号,则不能将输出参数与存储过程一起使用。
以下示例将sp_stmt创建为用于执行存储过程myproc的CallableStatement对象:
CallableStatement sp_stmt = conn.prepareCall( "{call MyProc(?,?)}");
CallableStatement sp_stmt2 = conn.prepareCall( {"call MyProc2(?,'javelin')}");
当我试图执行这个存储过程时,我收到了一个错误:“数据库连接器错误:'不允许从数据类型'CHAR'隐式转换为'INT'。使用CONVERT函数运行这个查询“为什么?”?我该怎么解决这个问题?谢谢 这是im用来执行SP的查询: 该列被设置为char(4),因此我不认为查询和数据类型不匹配 顺便说一句,我试过使用单引号、双引号和不使用引号的(“7066”),但仍然得到相同的sql错误。请帮忙 PS我在用
这件事困扰了我很久,所以我想在这里得到一些帮助:) 我正在使用JDBC连接到一个老旧的Sybase Adaptive server 6(!!!)我甚至在网上找不到它的JDBC驱动程序,所以我从安装目录中复制了它们:) 现在,插入和查询以及所有其余的db操作都工作得很好,但是我在调用存储过程时遇到了问题。让我们首先从一段代码开始: 提前道谢!/IVO
问题内容: 我正在调用一个Sybase存储过程,该存储过程通过JDBC返回多个结果集。我需要获取一个具有名为“ Result”的列的特定结果集,这是我的代码: 这里发生的是返回很多空结果集,直到达到目标结果集为止。我不能用作循环条件,因为它对空结果集返回false。 我放置了一个固定数字以结束循环,条件是没有返回所需的结果集,以防止其进入无限循环。它工作正常,但我认为这是不对的。 我认为从Syba
我真的需要帮助,我在stackoverflow上找到的所有问题中都搜索到了,但没有任何效果。我以前从未使用过hibernate,我不知道自己做错了什么 这是我的存储库:https://github.com/ionutincau/test_db 我收到了这个错误:
我在使用以下方言创建表时遇到以下错误 “org.hibernate.dialoget.mysqlinoddDialogic”
编辑4:我设法找出了有问题的依赖关系。在这里: 通过移除此依赖项,TestCase将正确执行并打印出所有可用的字符集。然而,我们确实需要一个数据库驱动程序为我们的应用程序。有人知道sybase jdbc驱动程序出了什么问题吗?