问题标签 [callable-statement]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
26229 浏览

java - Java CallableStatement registerOutParameter,它有什么作用?

我正在遵循有关可调用语句的指南。

在本指南中,它说我需要使用以下语句注册 out 参数:

问题:为什么我需要这样做/它有什么作用?

完整的Java代码:

mySQL程序:

0 投票
1 回答
6590 浏览

java - Java 调用具有 ref 游标返回类型的存储过程

我一直遇到一个问题,在尝试从存储过程返回引用游标时,我不断收到java.sql.SQLException: Bigger type length than Maximum错误。

我有一个非常简单的存储过程,它只有一个输出变量作为引用游标,ref_cursor 被定义为名为 WS_SEARCHTEST 的 Oracle 包中的类型引用游标。

我的程序:

我知道我的连接有效,因为我用它来运行简单的查询并检查了数据库。在我的 java 代码中,我执行以下操作:

我也试过:

但是,当我尝试访问结果集时,我总是会得到 java.sql.SQLException: Bigger type length than Maximum。

谢谢

0 投票
2 回答
694 浏览

java - 使用 Callable 语句获取结果集

我有一个如下的sql文件(伪代码)。

当我在 MS Sql 服务器中执行此操作时,我得到了几列的输出。我将相同的 SQL 查询存储在计算机的物理位置并尝试获取 Java 中的 ResultSet。这是我正在尝试的。

当我运行它时,我将结果设置为空,我哪里出错了?请帮忙。

0 投票
2 回答
3203 浏览

java - “'{' 附近的语法不正确”调用 SQL Server 存储过程

我正在尝试从我的存储过程中获取结果,我得到了ERROR: Incorrect syntax near '{'.. 我看到很多例子对 a 使用相同的东西,sql string但我不知道为什么会出现错误..我有相同数量的参数...

当我像这样执行我的数据库的存储过程时

exec rptGetAssetbyLocation '2122' 我得到了我的 5 列

如何使用 Callable Statement 返回结果?我做错了registerOutParameter什么?

0 投票
1 回答
5868 浏览

java - 如何使用 callablestatement 调用“视图”

我认为这将是一个简单的谷歌搜索,但我找不到答案:

我正在将 Access db 移动到 SQL Server,我已将一些查询转换为视图。我的 Java 应用程序曾经使用简单的方法调用每个查询:

这适用于存储过程。但是,当我对视图执行此操作时,我会收到以下信息:

我认为这就像删除()视图名称后的括号一样简单,但这并没有成功。

  • 如何使用 JDBC CallableStatment“调用”视图?
  • 还有其他调用表值函数的方法吗?
0 投票
1 回答
2563 浏览

java - 如何在 Java 中注册 Raw 类型的OutParameter

我有一个名为 enter 的 Oracle 过程,它返回 RAW 类型作为结果。当我想注册名为“ret”的参数时,我收到此错误:

这是我的 java 方法和 import 语句:

如何在 Java 中获取这个 RAW 类型的输出参数?提前致谢!

0 投票
1 回答
48 浏览

java - 调用将大型 XML 文件作为参数的 MSSQL 过程的最佳方法是什么?

我正在开发一个在MSSQL DB 中插入 XML 文件内容的应用程序,每次启动应用程序服务器时。

XML 包含相关表的多条记录。存储过程将 XML 文件内容作为 (TEXT) 参数,创建一个指针 ( sp_xml_preparedocument ) 并使用OPENXML插入到表中。

我需要使用 JDBC(或者可能是SQLCMD)从 XML 文件所在的应用程序服务器执行该过程。

XML 文件大约 160MB,现在我通过将 XML 文件作为大 String 对象读取到CallableStatement来发送 XML 文件,但它非常耗费时间/空间/资源。

0 投票
1 回答
188 浏览

java - 检查用户名是否存在于带有密码的表中

我创建了一个登录系统,可以在阻止帐户之前检查尝试,以防密码失败超过 3 次。问题是我需要检查用户名是否存在,如果不存在,则打印一条消息,说明 id 不存在;但我不知道该怎么办。我的意思是,我有如何做到这一点的想法,但我不知道如何在 Java 上做到这一点。

这些是我存储的程序

登录

尝试

阻止用户

而java部分是这样的:

我知道这可能不是创建登录系统的最佳方式,但我仍在学习,这是我目前得到的最好的想法。希望有人可以帮助我进行身份验证部分,在此先感谢。

0 投票
2 回答
522 浏览

java - 从 Java 执行存储过程,而不是使用 JDBC CallableStatement

我正在使用可用的模拟测试套件之一准备Java 7认证。

我偶然发现的测试问题之一是关于JDBC CallableStatement类,正确答案之一(根据工具)是:

如果过程具有 in 和 out 参数, CallableStatement 是Java 程序在数据库中执行存储过程的唯一方法。

这对我来说似乎很冒昧,我想知道是否有现有的库(例如可能是专有的 db 库)允许在没有JDBC的情况下运行存储过程?

0 投票
1 回答
2390 浏览

java - 从 Callablestatement 获取参数值

我的应用程序中有很多存储过程调用,我们正在使用可调用语句。有时我们需要调试传递给存储过程的参数,没有简单的方法,只能编写代码打印来自实体对象的所有值。

因此,我试图创建一个通用函数,该函数将接收可调用语句签名、执行后的可调用语句对象以及已执行并打印在日志中以进行调试的 SQL。我编写了以下代码,但它在 switch case 1 的 cs.getString 上抛出了 sql 异常“参数类型无效”。

这里的参数类型是从 cs 元数据中检索到的 1,根据javadoc,常量 1 用于 CHAR,它应该映射到 java 中的字符串。甚至我为这个存储过程设置的实际参数也使用了 String,它工作得很好,那么为什么 getString 会因为这个异常而失败呢?

我正在使用 AS400 驱动程序。