2017-02-27 5 views
-1

J'essaye de récupérer des données d'oracle db mais obtenant Non une telle propriété: prévu pour la classe: Script1343 (dans le manuscrit groovy); erreurAucune propriété de ce type: attendu pour la classe: Script1343 (dans le script groovy);

import java.util.Properties; 
import java.io.InputStream; 
import groovy.sql.Sql; 

def url = 'jdbc:oracle:thin:@//localhost:1521/TEST' 
def user = 'DB' 
def password = 'DB' 
def driver = 'oracle.jdbc.driver.OracleDriver' 
def sql = Sql.newInstance('url', 'User',  'password','oracle.jdbc.driver.OracleDriver') 
sql.withStatement { 
    stmt -> stmt.queryTimeout = 30 
    print "Request TimeOut" 
} 

def rowNum = 0 
sql.eachRow("SELECT DISTINCT CST_START_DT_PF,CST_ITEM_NUM_PF FROM COST "){  row -> 
    def first = row[0] 
    def middle = row.CST_START_DT_PF 
    def one = row.CST_ITEM_NUM_PF 
    assert expected[rowNum] == "$CST_START_DT_PF, $CST_ITEM_NUM_PF" 
} 

Répondre

2

Il y a plusieurs choses qui ne vont pas. L'erreur spécifique vous a demandé est le résultat de ce qui suit:

assert expected[rowNum] == "$CST_START_DT_PF, $CST_ITEM_NUM_PF" 

Vous faites référence à une variable qui ne expected existe pas.

Vous n'avez pas demandé des choses ci-dessous, mais d'autres problèmes que vous allez rencontrer ...

Référencer $CST_START_DT_PF et $CST_ITEM_NUM_PF va être un problème parce qu'ils n'existent pas aussi, du moins pas d'une manière que votre code fonctionnera.

Vous obtiendrez également probablement des résultats inattendus liés au fait que vous n'augmentez jamais rowNum.