Java 从Sybase ASE 15.7数据库读取存储过程源代码

Java 从Sybase ASE 15.7数据库读取存储过程源代码,java,database,sap-ase,Java,Database,Sap Ase,我想访问存储在Sybase ASE 15.7数据库中的一些存储过程的源代码。 此时,我将文本手动复制到一个文本文件中,并通过磁盘上执行的java代码读取它 现在,我的目标是改进这个过程:我将在执行的java代码中直接从数据库获取源代码。 可能吗? 对不起,我不知道 我有Rapid SQL来处理数据库。您可以运行一个ISQL脚本,调用存储过程sp\u helptext来获取存储过程的代码。希望这有帮助。您可以运行一个调用存储过程sp_helptext的ISQL脚本,以获取存储过程的代码。希望这有帮

我想访问存储在Sybase ASE 15.7数据库中的一些存储过程的源代码。 此时,我将文本手动复制到一个文本文件中,并通过磁盘上执行的java代码读取它

现在,我的目标是改进这个过程:我将在执行的java代码中直接从数据库获取源代码。 可能吗? 对不起,我不知道


我有Rapid SQL来处理数据库。

您可以运行一个ISQL脚本,调用存储过程sp\u helptext来获取存储过程的代码。希望这有帮助。

您可以运行一个调用存储过程sp_helptext的ISQL脚本,以获取存储过程的代码。希望这有帮助。

最好使用sp\u showtext;它提供了比sp_helptext更好的格式化结果(没有断开的SQL行)

最佳使用sp_showtext;它提供了比sp_helptext更好的格式化结果(没有断开的SQL行)

Vince的提示是使用存储过程sp_helptext。此存储过程生成多个结果集,给我带来了困难

RobV的答案是使用存储过程sp_showtext。这似乎是更好的解决方案,因为它只返回一个结果集。但我用jdbc尝试过,它曾经抛出sql异常(“必须返回结果集”)

失败后,我找到了另一个解决方案,它只需要对其他两个答案执行select语句。这对我有用!代码如下:

    StringBuffer sbSP = new StringBuffer();
    String query = "select c.text "
                  +"from syscomments c, sysobjects o "
                    +"where o.id=c.id and o.name='"+spName+"' order by c.colid";

    PreparedStatement stmt = connection.prepareStatement(query);
    ResultSet rs = stmt.executeQuery();
    while (rs.next()) {
        //loop over every row of the stored procedure
        sbSP.append(rs.getString("text") + "\n");
    }

文斯的提示是使用存储过程sp_helptext。此存储过程生成多个结果集,给我带来了困难

RobV的答案是使用存储过程sp_showtext。这似乎是更好的解决方案,因为它只返回一个结果集。但我用jdbc尝试过,它曾经抛出sql异常(“必须返回结果集”)

失败后,我找到了另一个解决方案,它只需要对其他两个答案执行select语句。这对我有用!代码如下:

    StringBuffer sbSP = new StringBuffer();
    String query = "select c.text "
                  +"from syscomments c, sysobjects o "
                    +"where o.id=c.id and o.name='"+spName+"' order by c.colid";

    PreparedStatement stmt = connection.prepareStatement(query);
    ResultSet rs = stmt.executeQuery();
    while (rs.next()) {
        //loop over every row of the stored procedure
        sbSP.append(rs.getString("text") + "\n");
    }

你好,罗布。我尝试用jdbc调用sp_showtext,但每次都失败,因为没有返回结果集(其他正常查询也可以)。在我的sql工具(rapid sql)中,它工作得非常完美。我为jdbc找到了另一个解决方案。非常感谢您的帮助你好,罗布。我尝试用jdbc调用sp_showtext,但每次都失败,因为没有返回结果集(其他正常查询也可以)。在我的sql工具(rapid sql)中,它工作得非常完美。我为jdbc找到了另一个解决方案。非常感谢你的帮助你好,文斯。非常感谢你的回答。在我的sql工具(rapid sql)中,它工作得非常完美。但它返回的结果集多于一个。使用方法
getmoresults()
getResultSet
后,我仍然无法访问我需要的结果集。我找到了另一个解决方案(见我的答案)。你好,文斯。非常感谢你的回答。在我的sql工具(rapid sql)中,它工作得非常完美。但它返回的结果集多于一个。使用方法
getmoresults()
getResultSet
后,我仍然无法访问我需要的结果集。我找到了另一个解决办法(见我的答案)。