0

groovyチュートリアル: http: //groovy.codehaus.org/Database+features

手順についてのセクションがあります。この例を試してみると:

The same example again but with a GString variation:

def first = 'Sam'
sql.call("{$Sql.VARCHAR = call FullName($first)}") { name ->
    assert name == 'Sam Pullara'
}

例外が発生しました:

Chyba: ORA-06550: line 1, column 13:
PLS-00222: no function with name 'FULLNAME' exists in this scope
ORA-06550: line 1, column 7:
PL/SQL: Statement ignored

java.sql.SQLException: ORA-06550: line 1, column 13:
PLS-00222: no function with name 'FULLNAME' exists in this scope
ORA-06550: line 1, column 7:
PL/SQL: Statement ignored

    at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:113)

はい、それは例外が言うことは真実です。なぜなら、私が呼び出したいものは関数ではなく、プロシージャFULLNAMEだけを取得したからです。このチュートリアルはまだ実際ですか?

4

2 に答える 2

0
import groovy.sql.Sql
import oracle.jdbc.driver.OracleTypes

Sql sql = Sql.newInstance("jdbc:oracle:thin:@hostname:1521:dbname", "username","password","oracle.jdbc.driver.OracleDriver")
dept_id = 50

sql.call('{? = call FullName(?)}', [Sql.VARCHAR, 'Sam']) { name->
    println name
}
于 2013-03-18T09:30:04.040 に答える