【发布时间】:2012-02-18 03:46:11
【问题描述】:
在 Oracle 中,我可以使用以下内容:
String query = "{ ? = call get_config_func( ?, ? ) }";
try
{
CallableStatement cs = con.prepareCall( query );
cs.registerOutParameter(1, OracleTypes.CURSOR);
cs.setInt( 2, i );
cs.registerOutParameter(3, java.sql.types.INTEGER);
cs.execute();
ResultSet results = ((OracleCallableStatement)cs).getCursor (1);
String val = cs.getString(3);
if( results != null)
{
while( results.next() )
{
.....
但是,我对不能与 SQL Server 一起使用的 Oracle 的引用感到困惑。
我尝试了以下方法:
String query = "{ call uspGetLastLocation( ?, ? }";
try
{
cs = con.prepareCall( query );
cs.setLong(1, id );
cs.registerOutParameter(2, java.sql.Types.VARCHAR );
rs = cs.executeQuery();
while(rs.next())
{
.....
但我收到以下错误
“{”附近的语法不正确。
我见过使用PreparedStatement 而不是CallableStatement 的示例,并将查询更改为
String query = "EXEC uspGetLastLocation ?, ?";
但我不知道如何处理输出参数。
有任何建议或指向参考的指针吗?
谢谢。
【问题讨论】:
标签: java sql-server-2008 stored-procedures jdbc