0

このステートメントは、SQL 開発者で実行すると正常に機能しますが、このように接続マネージャーを介して実行しようとすると、「テーブルまたはビューが見つかりません」というメッセージが表示され続けます。これは、接続マネージャーとは異なる構文規則があるためなのか、それとも何なのかと思っていました。問題が何であるかについての洞察を持っている人はいますか? ありがとう。

ps = con.prepareStatement("select receipts.ordernumber, receipts.part, receipts.location, receipts.site, 
                           receipts.orderqty,  receipts.supplier, receipts.mfr, receipts.mfrpart, 
                           receipts.ponumber, orders.poline, orders.porelease, orders.price, 
                           orders.uom, orders.currency_r, orders.datecreated, orders.datelate, 
                           orders.approval_time, orders.userid, orders.buyer, orders.note_r, 
                           orders.qtyopen, orders.orderstate, supplier.accountnumber, 
                           delivery.method, 
                           CASE WHEN delivery.method = 'EDI' and delivery.process = 'ORDER' THEN 'YES' ELSE 'NO' END AS EDI, 
                           receipts.userid " +
"from receipts, orders, supplier, delivery " + 
"where receipts.customerix=43 and 
       orders.wip_order = 1 and supplier.suppliercode = orders.supplier and 
       supplier.customerix = orders.customerix and 
       delivery.supplierix = supplier.supplierix and 
       receipts.consigned = '1' and 
       orders.custordernumber(+) = receipts.ordernumber AND 
       orders.CUSTOMERIX(+) = receipts.CUSTOMERIX and 
       receipts.exported=0 and 
       receipts.export_active=1 
       order by receipts.ordernumber");


            statement = update.prepareStatement(" update receipts set export_active = 1 where receiptix in " +
                "(SELECT receipts.receiptix FROM pours.receipts, pours.orders, pours.supplier " +
                "WHERE receipts.customerix =7021 AND orders.wip_order = 1 AND supplier.suppliercode = orders.supplier " +
                "AND supplier.customerix = orders.customerix " +
                "AND receipts.consigned = '1' AND orders.custordernumber(+) = receipts.ordernumber " +
                "AND orders.CUSTOMERIX(+) = receipts.CUSTOMERIX AND receipts.exported = 0)");
4

2 に答える 2

0

ここを見てください: http://docs.oracle.com/javase/6/docs/api/java/sql/PreparedStatement.html

また、より単純なクエリを作成して、テーブル内のデータにアクセスできるかどうかを確認してください。

よろしく!/トーマス

于 2013-03-26T18:47:56.810 に答える
0

I Think you went wrong with the DBName, for the connection..接続に正しいデータベースを指定したら、確認してください

データベースにこのテーブルがない場合にのみ、このエラーが発生します

DB_DRIVER = "oracle.jdbc.driver.OracleDriver";
DB_CONNECTION = "jdbc:oracle:thin:@localhost:1521:DBName";
DB_USER = "user";
DB_PASSWORD = "password";
于 2013-03-26T19:00:51.607 に答える