Получение значений из таблицы в DB2

Я хочу получить значения из таблицы с помощью db2 и распечатать результаты.

Это код, который я пытаюсь использовать для этого:

import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.DriverManager;
import java.sql.Connection;
import java.sql.SQLException;

public class connection {
    public static void main(String[] argv) {
        try {
            Class.forName("COM.ibm.db2.jdbc.app.DB2Driver");
        }
        catch (ClassNotFoundException e) {
            System.out.println("Please include Classpath  Where your DB2 Driver is located");
            e.printStackTrace();
            return;
        }
        System.out.println("DB2 driver is loaded successfully");
        Connection conn = null;
        PreparedStatement pstmt = null;
        ResultSet rset=null;
        boolean found=false;
        try {
            conn = DriverManager.getConnection("jdbc:db2:sabarish","db2admin","Murugasaranam");
            if (conn != null)
            {
                System.out.println("DB2 Database Connected");
            }
            else
            {
                System.out.println("Db2 connection Failed ");
            }
            pstmt=conn.prepareStatement("SELECT * FROM SYSCAT.COLUMNS WHERE TABSCHEMA= 'STD' AND TABNAME= 'inventory'");
            rset=pstmt.executeQuery();
            if(rset!=null)
            {

                while(rset.next())
                {
                    found=true;
                    System.out.println("Class Code: "+rset.getString("clcode"));
                    System.out.println("Name: "+rset.getString("name"));
                }
            }
            if (found ==false)
            {
                System.out.println("No Information Found");
            }
        } catch (SQLException e) {
            System.out.println("DB2 Database connection Failed");
            e.printStackTrace();
            return;
        }
    }

}

Он печатает только имена столбцов. Какой оператор запроса я могу использовать вместо имен столбцов для получения результатов? db2 select * from store.inventory тоже не работает.


person user3078335    schedule 06.12.2016    source источник
comment
Я ни в коем случае не эксперт по DB2, но почему вы пропустили имя базы данных в своем запросе JDBC?   -  person Tim Biegeleisen    schedule 06.12.2016
comment
Какое исключение? В чем именно проблема ? значит не работает?   -  person developer    schedule 06.12.2016
comment
@TimBiegeleisen примеры, которые я видел в Интернете, следовали этому формату. Я сам довольно новичок в этом. Я только сегодня начал работать с DB2.   -  person user3078335    schedule 06.12.2016
comment
@javaguy не выводит значения. Он просто дает имена столбцов.   -  person user3078335    schedule 06.12.2016
comment
Что происходит, когда вы запускаете свой код? Вы получаете ошибку?   -  person Tim Biegeleisen    schedule 06.12.2016
comment
@TimBiegeleisen просто перечисляет имена столбцов. Не ценности.   -  person user3078335    schedule 06.12.2016
comment
Это не имеет никакого смысла. Как getDouble() может вернуть текст?   -  person Tim Biegeleisen    schedule 06.12.2016
comment
Приведенный выше код является просто примером. Мое внимание сосредоточено только на операторе запроса. Я пытаюсь выяснить, как запросить базу данных, аналогичную этому примеру, с помощью db2. Основное внимание уделяется 'db2 select * from store.inventory' и ` SELECT * FROM SYSCAT.COLUMNS WHERE TABSCHEMA= 'STD' AND TABNAME= 'inventory'.   -  person user3078335    schedule 06.12.2016
comment
если вы используете iseries db2, SYSCAT.COLUMNS не существует. Используйте системные столбцы.   -  person Esperento57    schedule 06.12.2016
comment
в вашем примере вы должны изменить jdbc:mysql на jdbc:db2;   -  person Mustafa DOGRU    schedule 06.12.2016
comment
@MustafaDOGRU Я изменил свой вопрос. Первый код, который я добавил ранее, был просто примером, это реальный код, который у меня был.   -  person user3078335    schedule 06.12.2016
comment
Пожалуйста, измените свой вопрос и напишите точную ошибку, которую вы получаете при этом.   -  person Sanjay Kumar    schedule 06.12.2016
comment
@rjaydee: какую таблицу вы используете в prepareStatement? store.inventory или SYSCAT.COLUMNS. Таблица SYSCAT.COLUMNS не имеет clcode. Не могли бы вы обновить точный sql в prepareStatement.   -  person Mustafa DOGRU    schedule 07.12.2016


Ответы (1)


Попробуйте select * from STD.inventory

person user3078335    schedule 07.12.2016