db2 clob转mysql 的_Db2 数据库选出CLOB 里面的内容

该博客展示了如何从_DB2_数据库中选取CLOB类型的数据,并将其转换为MySQL兼容的格式。作者提供了两种方法,一种是通过Java程序读取并写入文件,另一种是使用DB2的`export`命令。在实践中,作者发现`export`方法导致内容重复,但能通过删除重复部分临时解决。博客发布于2012年,至今已获得7783次浏览。
摘要由CSDN通过智能技术生成

package com.ibm;

import java.io.*;

import java.sql.*;

public class TestConnDb2 {

public static void main(String[] args) {

try {

Class.forName("COM.ibm.db2.jdbc.app.DB2Driver").newInstance();

String url = "jdbc:DB2:oi9ods";

String user = "youruser";

String password = "yourpassword";

Connection conn = DriverManager.getConnection(url, user, password);

String sql = "select pricexml from price.wwprtxml where id = 34851 with ur";

Statement stmt = conn.createStatement();

ResultSet rs = stmt.executeQuery(sql);

if (rs.next()) {

System.out.println("test start");

Writer output = null;

String text = rs.getString(1);

File file = new File("xml.txt");

output = new BufferedWriter(new FileWriter(file));

output.write(text);

output.close();

System.out.println("test end!");

}

conn.close();

} catch (Exception e) {

e.printStackTrace();

}

}

}

方法二:

db2 connect to oi9ods user youruser using yourpassword

db2 export to wwprt.del of del modified by lobsinfile messages wwprt.msg select pricexml from price.wwprtxml where id = 34851 with ur

可是不知道为什么,用export 方法导出的文件的内容有问题,里面包含2遍 字段里面的内容,暂时还可以用,把重复的内容去掉,随后再仔细研究一下原因。

分享到:

18e900b8666ce6f233d25ec02f95ee59.png

72dd548719f0ace4d5f9bca64e1d7715.png

2012-03-29 15:35

浏览 7783

分类:数据库

评论

在Python中,string换为CLOB并存储到DB2数据库的过程可以通过以下步骤完成: 1. 首先,确保您已经连接到DB2数据库。您可以使用IBM官方提供的pyodbc库或ibm_db库来实现与DB2数据库的连接。 2. 创建一个数据库表,其中包含一个CLOB列来存储文本数据。 3. 在Python中,使用适当的库和函数打开数据库连接,并执行SQL INSERT语句来插入CLOB数据。在INSERT语句中,使用参数化查询(prepared statement)方式将CLOB数据插入到数据库表中。这样可以防止SQL注入攻击,并提高执行效率。 下面是一个示例代码,展示了如何将字符串换为CLOB并插入到DB2数据库中: ```python import ibm_db # 设置数据库连接参数 conn_str = "DATABASE=<db_name>;HOSTNAME=<db_hostname>;PORT=<db_port>;PROTOCOL=TCPIP;UID=<db_user>;PWD=<db_password>" # 创建数据库连接 conn = ibm_db.connect(conn_str, "", "") # 打开创建的连接 if conn: print("连接到DB2数据库成功") # 创建一个字符串数据 string_data = "这是一个测试CLOB数据" # 将字符串数据换为CLOB clob_data = ibm_db.CLOB(conn, string_data) # 准备SQL语句 insert_sql = "INSERT INTO your_table(clob_column) VALUES(?)" # 创建一个SQL声明 stmt = ibm_db.prepare(conn, insert_sql) # 绑定CLOB参数 ibm_db.bind_param(stmt, 1, clob_data) # 执行插入操作 if ibm_db.execute(stmt): print("插入CLOB成功") else: print("插入CLOB失败") # 提交事务 ibm_db.commit(conn) # 关闭连接 ibm_db.close(conn) ``` 请注意,上述代码中的`<db_name>`、`<db_hostname>`、`<db_port>`、`<db_user>`和`<db_password>`应替换为您的DB2数据库的实际连接参数。同样,`your_table`应替换为实际的表名,`clob_column`应替换为实际的CLOB列名。 上述代码中使用的是`ibm_db`库,这是IBM官方提供的Python库,用于与DB2数据库进行交互。您需要确保已经安装并正确配置了此库。您还可以使用其他Python库和工具来实现与DB2数据库的连接和操作。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值