当前位置: 首页 > 知识库问答 >
问题:

SQL Server存储过程的输出参数截断为4000个字符

白通
2023-03-14

存储过程以完整的响应(>4000个字符)回答,但我无法从Java打开它。我尝试过jTDS和微软的JDBC驱动程序6.0。下面是我的代码:

CallableStatement pstmt = con.prepareCall("{call sp_horus_get_consultorios_stv(?)}"); 
pstmt.registerOutParameter(1, -1); 
pstmt.setString(1, ""); 
pstmt.execute(); 
String sp_horus_get_consultorios_stv = pstmt.getString(1);

这适用于Sybase中的存储过程。

共有1个答案

壤驷升
2023-03-14

据我所知,您的输出参数类型为NVARCHAR(8000),这是允许的最大显式数,并输出4000字符的Unicode字符串lenght(每个字符2字节)。

然而,幸运的是,还有另一种可能性:NVARCHAR(MAX),它基本上允许无限的字符串lenght(嗯,不是无限的,但几乎是:NVARCHAR(MAX)将容纳的最大字符数是多少?

您应该将输出paramater类型更改为NVARCHAR(MAX)。

 类似资料:
  • 问题内容: 我有一个来自此(google book )的mysql存储过程,一个例子是这样的: 该程序编译正常。(我在ubuntu中使用MySQL查询浏览器)。 但是,当我调用该过程时: (也在查询浏览器中) 它返回一个错误: 为什么这个例子不起作用? 问题答案: 无法复制。对我来说效果很好: 也许您应该粘贴整个错误消息,而不是对其进行汇总。

  • 存储库代码是 我的测试代码如下所示,当我运行它时,我会得到错误: 当我注销时,使用:

  • 输入/输出示例: infoData序列化输入:总长度5191 当,NVARCHAR(1000),infoData值:总长度-1003 帮助我获得完整的info_Data原样,没有任何丢失或截断。 提前道谢。

  • 本文向大家介绍Sql Server 存储过程调用存储过程接收输出参数返回值,包括了Sql Server 存储过程调用存储过程接收输出参数返回值的使用技巧和注意事项,需要的朋友参考一下 创建存储过程: 接收输出参数: 2,带返回值 创建存储过程: 接收返回值: 以上所述是小编给大家介绍的Sql Server 存储过程调用存储过程接收输出参数返回值,希望对大家有所帮助,如果大家有任何疑问请给我留言,小

  • 问题内容: 我有一张桌子,我需要在99%的时间内自动分配ID(其他1%似乎使用身份列来排除)。因此,我有一个存储过程来获取以下行中的下一个ID: `` 检查必须检查用户是否手动使用了ID并找到下一个未使用的ID。 当我依次调用它并返回1、2、3时,它可以正常工作。我需要做的是在多个进程同时调用此方法的情况下提供一些锁定。理想情况下,我只需要它专用于围绕此代码锁定last_auto_id表,以便第二

  • 假设我已经在SAP HANA数据库中创建了存储过程,并且希望有可选的out参数和文本类型,比如错误详细信息。正如我所读到的,为了实现这一点,我应该使用一些默认值,因此我这样做: 不幸的是,构建失败,出现以下错误: OUT和IN-OUT参数可能没有默认表达式 所以,我决定尝试使用null,但以同样的方式失败。后来我将类型改为integer只是为了尝试,但它再次以完全相同的方式失败。 在同一时间这工作