import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.ResultSetMetaData;
import java.sql.DriverManager;
import java.sql.Connection;
import java.sql.DatabaseMetaData;
import java.sql.SQLException;
import java.sql.Statement;
public class Db2{
public static void main(String[] argv) {
try {
Class.forName("com.ibm.db2.jcc.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 rs=null;
Statement stmt = null;
boolean found=false;
String name = "";
try {
conn = DriverManager.getConnection("jdbc:db2://server:900/MyDB"
+":user=user1;password=swim;"+
"traceLevel=" +
(com.ibm.db2.jcc.DB2BaseDataSource.TRACE_ALL) + ";");
if (conn != null)
{
System.out.println("DB2 Database Connected");
}
else
{
System.out.println("Db2 connection Failed ");
}
// Create the Statement
stmt = conn.createStatement();
System.out.println("**** Created JDBC Statement object");
// Execute a query and generate a ResultSet instance
rs = stmt.executeQuery("SELECT * FROM VIRTUALMACHINE");
System.out.println("**** Created JDBC ResultSet object");
device
while (rs.next()) {
name = rs.getString(2);
System.out.println("Name = " + name);
}
System.out.println("**** Fetched all rows from JDBC ResultSet");
// Close the ResultSet
rs.close();
System.out.println("**** Closed JDBC ResultSet");
} catch (SQLException e) {
System.out.println("DB2 Database connection Failed");
e.printStackTrace();
return;
}
}
}
我想知道为什么当我运行它时它不返回任何东西。当我将查询字符串从select VIRTUALMACHINE from mydb
更改为“select*from syscat.columns WHERE tabschema='gga'AND tabname='VIRTUALMACHINE'fetch first 10 rows only”
时,我得到一个结果。在这种情况下
DB2驱动程序成功加载DB2数据库连接****创建JDBC语句对象****创建JDBC ResultSet对象名称=GGA名称=GGA名称=GGA名称=GGA
****从JDBC ResultSet提取所有行****关闭JDBC ResultSet
这差不多是对列的描述。我想知道为什么select VIRTUALMACHINE from mydb
没有产生任何结果。这不是DB2中查询的方式吗?
当对象不存在时抛出SQLSTATE 42704。
from
子句引用的是表名,而不是DB。表名可以是合格的,也可以是不合格的;并且从技术上讲,限定表名可以包括远程DB名。
你说这个行得通:
SELECT *
FROM SYSCAT.COLUMNS
WHERE TABSCHEMA= 'GGA' AND TABNAME= 'VIRTUALMACHINE'
fetch first 10 rows only
select *
from GGA.VIRTUALMACHINE
我正在使用一个新的 java 应用程序,该应用程序适用于 db2 中无法更改的旧数据库。在其中一个表中,有包含 comp3 字符的 char(32) 列。 我们使用ibmdb2jdbctype4驱动程序阅读本专栏。当我们检查字节以解压缩字符时,我们发现无论何时bbdd中有一个值为25的字节,jdbc驱动程序都会将其恢复为值15。值为15的字节也会恢复为15的值,因此我们不知道如何解决这个不明确的值
问题内容: 对于z / OS实体化查询表上的DB2,如何检索上次刷新时间? 该文档指出,在REFRESH期间DB2采取的操作之一是用刷新时间戳填充目录。 用刷新时间戳和具体化查询表的基数更新DB2目录 什么目录表和列包含此信息? 我一直在寻找它,以便将时间戳与其他资源进行比较,以查看自上次刷新以来时间戳是否已更改。如果自上次刷新以来其他资源已更改,则必须刷新MQT。 问题答案: 您可以在表 SYS
问题内容: 我正在编写一个JSP / Servlet,并且试图获取URI的锚点部分,例如: 如何从我的请求中获得分数?显然行不通吗? 任何帮助都将受到欢迎。 问题答案: 这是不可能的,因为客户端不会将“锚定部分”发送到服务器 例如,这是Chrome提交后生成的确切请求(使用Wireshark记录): 看,没有#foobar。因此,服务器应用程序无法读取它。 您可以做一些JavaScript魔术,将
问题内容: 我正在编写一个JSP / Servlet,并且尝试获取URI的锚点部分,例如: 如何从我的请求中获得分数?显然行不通吗? 任何帮助都将受到欢迎。 问题答案: 这是不可能的,因为客户端不会将“锚定部分”发送到服务器 例如,这是Chrome提交后生成的确切请求(使用Wireshark记录): 看,没有#foobar。因此,服务器应用程序无法读取它。 您可以做一些JavaScript魔术,将
问题内容: 我可以从org.w3c.dom.Node获取完整的xpath吗? 说当前节点指向xml文档中间的某个位置。我想提取该元素的xpath。 我正在寻找的输出xpath是。节点xpath的父级。只需忽略具有表达式并指向同一节点的xpath。 问题答案: 没有获取XPath的通用方法,主要是因为没有一个通用XPath可以标识文档中的特定节点。在某些架构中,节点将由属性唯一标识(并且可能是最常见
问题内容: HttpClient httpclient = new DefaultHttpClient(); HttpPost httppost = new HttpPost(“http://my.server:8080/android/service.php"); 生成一个json字符串。我该如何从我的手机上获取?顺便说一句; 我已经将该库排除在外了,我可以在其中使用任何方法吗? 有更好的方法,