从 DB2 中的表中获取值
Posted
技术标签:
【中文标题】从 DB2 中的表中获取值【英文标题】:Getting values from table in DB2 【发布时间】:2016-12-06 00:46:42 【问题描述】:我想使用 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
似乎也没有效果。
【问题讨论】:
无论如何我都不是 DB2 专家,但是为什么您在 JDBC 查询中省略了数据库名称? 有什么例外?究竟是什么问题?不工作是什么意思? @TimBiegeleisen 我在网上看到的示例遵循这种格式。我自己对此很陌生。我今天才开始使用 DB2。 @javaguy 它不会打印出这些值。它只是给出列名。 上面的代码只是一个例子。我只关注查询语句。我试图找出如何使用 db2 查询类似于该示例的数据库。 'db2 select * from store.inventory' 和 `SELECT * FROM SYSCAT.COLUMNS WHERE TABSSCHEMA= 'STD' AND TABNAME= 'inventory' 是主要关注点。 【参考方案1】:试试select * from STD.inventory
【讨论】:
以上是关于从 DB2 中的表中获取值的主要内容,如果未能解决你的问题,请参考以下文章