如何存储和检索对外部数据的引用
如何存储和检索对外部数据的引用
日期:2004 年 2 月 9 日
如何存储和检索对外部数据的引用
完成此方法文档后,您应该能够:
- 在 JDBC 应用程序中使用 DATALINK 数据类型。
读者应该熟悉的内容
要理解本文档,读者应该已经具备关于 JDBC 的基础知识。
引言
本文档演示了如何使用 datalink 数据类型来存储和检索对外部资源的引用。
说明
作为 JDBC3.0 规范变化的一部分,添加了两种新的数据类型 DATALINK 和 BOOLEAN。DATALINK 数据类型使分布式 JDBC 应用程序能够从数据库中检索对外部数据的引用,并能够将外部数据的引用存储到数据库中。新添加的类型引用了相同名称的 SQL 类型。DATALINK 提供对外部资源或 URL 的访问。DATALINK 列的值通过使用新的 getURL() 方法从 ResultSet 实例中检索获得。
在 oracle.jdbc 程序包的类中添加了方法,以支持
- 利用 DATALINK 检索对外部数据的引用。
- 存储对外部数据的引用
- 获取与 DATALINK 相关的元数据信息。
在 java.sql.ResultSet 中提供以下方法,
public java.net.URL getURL(int columnIndex) throws SQLException; public java.net.URL getURL(String columnName) throws SQLException;
java.sql.CallableStatement 中的方法
public java.net.URL getURL(int parameterIndex) throws SQLException; public java.net.URL getURL(String parameterName) throws SQLException;
java.sql.PreparedStatement 中的方法
public void setURL(int parameterIndex, java.net.URL x) throws SQLException;
为检索 java.sql.Types 中提供的所有类型代码,可以使用 java.sql.DatabaseMetaData 类中的以下方法,
public java.sql.ResultSet getTypeInfo(...) public java.sql.ResultSet getColumns(....)
代码段
以下代码使用 PreparedStatement 将 HTTP URL 对象插入到数据库中。
PreparedStatement pstmt = conn.prepareStatement( "INSERT INTO sample_repository (sample_name,url) VALUES (?,?)" ); String sampleUrl = "http://otn.oracle.com/sample_code/tech/java/sqlj_jdbc/"+ "files/jdbc30/savepoint/Readme.html";
pstmt.setString(1,"Save Point Sample");
// Set the URL object pstmt.setURL(2,new URL(sampleUrl));
|
|
以下代码显示如何检索 url 并显示 HTTP URL 中的内容。
ResultSet rs = stmt.executeQuery( "SELECT sample_name, url FROM sample_repository " );
if ( rs.next() ) { sampleName = rs.getString(1); // Retrieve the value as a URL object. url = rs.getURL(2); if ( url != null ) { HttpURLConnection urlConnection=(HttpURLConnection) url.openConnection(); BufferedReader bReader = new BufferedReader( new InputStreamReader( urlConnection.getInputStream())); String pageContent = null; while ( ( pageContent=bReader.readLine() )!=null ) { System.out.println(pageContent); } } }
|
|
可以 在此查看完整的源代码。
运行示例的前提条件
您需要具备以下条件才能运行此示例 -
运行示例
- 在您的工作目录中复制并保存示例 源文件。
- 编译源文件。要运行示例代码,请执行以下命令,
java oracle.otnsamples.jdbc.Datalink
- 如果您处于防火墙后面,可执行以下命令,
java -Dhttp.proxyHost= oracle.otnsamples.jdbc.Datalink
总结
本方法文档说明了如何将 URL 存储到数据库中以及如何从数据库中检索 URL。
请在 OTN 示例代码论坛中发表您对此示例的意见。
|