首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >防止Oracle SQL Developer在导出时截断CLOB

我想将包含大型CLOB的查询结果导出到CSV文件中。然而,一旦在CSV字段中导出,CLOB将在大约4K个字符之后被截断(即它们将过早地以“…”结束)。如何防止Oracle SQL Developer在导出时截断CLOB?

EN

回答 2

Stack Overflow用户

发布于 2017-09-13 01:23:32

您可以绕过Oracle SQL Developer进行导出,例如,您可以使用Python脚本来处理导出,这样CLOB就不会被截断:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
from __future__ import print_function
from __future__ import division

import time
import cx_Oracle

def get_cursor():
    '''
    Get a cursor to the database
    '''
    # http://stackoverflow.com/questions/24149138/cx-oracle-doesnt-connect-when-using-sid-instead-of-service-name-on-connection-s
    # http://www.oracle.com/technetwork/articles/dsl/prez-python-queries-101587.html
    ip = '' # E.g. '127.0.0.1'
    port = '' # e.g. '3306'
    sid = ''
    dsnStr = cx_Oracle.makedsn(ip, port, sid)
    username = '' # E.g. 'FRANCK'
    password = '' # E.g. '123456'
    db = cx_Oracle.connect(user=username, password=password, dsn=dsnStr)    
    cursor = db.cursor()
    return cursor

def read_sql(filename):
    '''
    Read an SQL file and return it as a string
    '''
    file = open(filename, 'r')
    return ' '.join(file.readlines()).replace(';', '')

def execute_sql_file(filename, cursor, verbose = False, display_query = False):
    '''
    Execute an SQL file and return the results
    '''
    sql = read_sql(filename)
    if display_query: print(sql)
    start = time.time()
    if verbose: print('SQL query started... ', end='')
    cursor.execute(sql)
    if verbose: 
        end = time.time()
        print('SQL query done. (took {0} seconds)'.format(end - start))
    return cursor


def main():
    '''
    This is the main function
    '''
    # Demo:
    cursor = oracle_db.get_cursor()
    sql_filename = 'your_query.sql' # Write your query there
    cursor = oracle_db.execute_sql_file(sql_filename, cursor, True)    
    result_filename = 'result.csv'   # Will export your query result there
    result_file = open(result_filename, 'w')
    delimiter = ','    
    for row in cursor:
        for count, column in enumerate(row):
            if count > 0: result_file.write(delimiter)
            result_file.write(str(column))
        result_file.write('\n')
    result_file.close()


if __name__ == "__main__":
    main()
    #cProfile.run('main()') # if you want to do some profiling
票数 2
EN

Stack Overflow用户

发布于 2016-10-14 00:38:45

我使用的是SQL Developer版本4.1.3.20,也有同样的问题。对我来说唯一有效的事情就是选择XML作为导出格式。这样,我就可以导出大约135,000个字符的JSON字符串,而不会被截断。

然而,第二个问题是在导出后立即尝试导入数据,SQL Developer表示由于错误"null“而无法打开文件。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/31632983

复制
相关文章
使用Oracle SQL Developer 连接SQL Server
上次,将MySQL数据迁移到Oracle介绍了如何使用oracle sql developer连接mysql。同样,sql server的连接也比较相似。
williamwong
2018/07/24
3.3K0
使用Oracle SQL Developer 连接SQL Server
PHP处理Oracle的CLOB
1.      写入数据 在使用PDO的预处理方法时,如果使用bindParam()等而不指定字段PHP
Java架构师必看
2021/03/22
1K0
SQL%NOTFOUND_oracle导出sql文件
SQL%NOTFOUND 是一个布尔值。与最近的sql语句(update,insert,delete,select)发生交互,当最近的一条sql语句没有涉及任何行的时候,则返回true。否则返回false。这样的语句在实际应用中,是非常有用的。例如要update一行数据时,如果没有找到,就可以作相应操作。如:
全栈程序员站长
2022/09/20
8070
走向云端:Oracle SQL Developer Web 即将上线!
引言:Oracle SQL Developer 是一款免费的桌面应用,是数据库的图形用户界面,它具有 DBA 的全部功能,能够对 PL/SQL 进行开发,还有命令行开发页面,全世界有近500万用户在 SQL Developer 上进行着数据库的开发。
数据和云
2018/07/27
1K0
走向云端:Oracle SQL Developer Web 即将上线!
PLSQL Developer备份恢复oracle数据「建议收藏」
大家好,我是架构君,一个会写代码吟诗的架构师。今天说一说PLSQL Developer备份恢复oracle数据「建议收藏」,希望能够帮助大家进步!!!
Java架构师必看
2022/02/08
3.4K0
PLSQL Developer备份恢复oracle数据「建议收藏」
Windows 下Oracle数据库安装以及Oracle SQL Developer(图文详解)
转载请注明:http://blog.csdn.net/uniquewonderq
MickyInvQ
2020/09/27
1.7K0
Windows 下Oracle数据库安装以及Oracle SQL Developer(图文详解)
Java之基础操作Oracle CLOB
//取CLOB中的内容(不包含图片)   public String query(String strQuery) throws SQLException{   if (con==null || con.isClosed()) {   pool = ConnectionPool.getInstance();   con = pool.getConnection();   }   Statement st = con.createStatement();   ResultSet rs = st.execu
IT工作者
2022/03/29
8150
2018-10-24 ORACLE SQL Developer日期显示格式设置
ORACLE的SQL Developer工具默认的日期格式DD-MON-RR,在SQL查询中往往你看不到时间信息,此时你必须修改日期格式。具体如下所示
Albert陈凯
2018/11/22
1.5K0
Mac Oracle SQL Developer "欢迎使用"页卡死,解决办法。
好几次,我一打开 Oracle SQL Developer 工具,然后随便点个地方就卡死了。后来终于发现了罪魁祸首,就是它默认加载的欢迎页,只要把这个页面关闭掉就好了。 恶心的是,你还不能直接点它窗口的 ×,因为照样卡死,只能通过菜单来关闭欢迎页。
小蓝枣
2020/09/23
1.7K0
java:hibernate + oracle之坑爹的clob
oracle + hibernate 环境,如果表中有 clob字段,hibernate的Entity类,如果Column注解打在私有成员上,则clob私有成员,首字母一定要按字母顺序排在最后,安全的
菩提树下的杨过
2018/01/19
1.5K0
Mac Oracle SQL Developer启用(关闭)自动提交事务,设置自动commit
oracle 执行每条 sql 语句都要 commit 提交后才会生效,有的工具启用了自动 commit,所有直接执行语句就可以了,但是 Oracle SQL Developer 等工具就没有默认启用,我们需要自己来设置下。
小蓝枣
2020/09/23
2.5K0
oracle dmp导入导出_oracle导出数据
Oracle数据导入导出imp/exp就相当于oracle数据还原与备份。exp命令可以把数据从远程数据库服务器导出到本地的dmp文件,imp命令可以把dmp文件从本地导入到远处的数据库服务器中。 利用这个功能可以构建两个相同的数据库,一个用来测试,一个用来正式使用……
全栈程序员站长
2022/11/17
2.9K0
oracle导出建表sql_Oracle数据库语句汇总
第一步:安装pl/sql Developer (此程序Oracle必备软件,在此不再讨论)
全栈程序员站长
2022/10/03
3.6K0
oracle导出建表sql_Oracle数据库语句汇总
oracle如何防止锁表,Oracle-怎么防止oracle锁表[通俗易懂]
解决这种情况最好的方法就是在列上绑定一个序列,如果没有这么做,你也可以创建一个before触发器在插入前捕获resource_busy异常来防止阻塞:
全栈程序员站长
2022/08/27
9060
SQL调优和诊断工具之DBMS_SQLDIAG介绍
通过调用SQL修复顾问(SQL Repair Advisor),能够诊断和修复SQL相关的问题。
SQLplusDB
2022/08/19
7790
SQL调优和诊断工具之DBMS_SQLDIAG介绍
Oracle数据库官方工具SQL Developer的安装与简单连接
Oracle 官方工具 SQL Developer,专业 oracle 数据库连接工具。关键是免费使用哦!
小蓝枣
2020/09/25
3.4K0
Oracle数据库官方工具SQL Developer的安装与简单连接
Plsql Developer连接Oracle时出现Could not initialize oci.dll解决方案
用plsql developer连接远程oracle时会出现Could not initalize oci.dll警告,原因分析:安装完后Oracle的 oci.dll 是64位的,而32位应用程序 PLSQL Developer 无法加载,或者相反。因为之前实习遇到这个问题,我没有做好记录,最近又有同事遇到,问我,然后我就要重新搜索解决这个问题,所以现在就写成博客,做好记录。
SmileNicky
2019/01/17
3.5K0
oracle和plsql developer编码设置
设置为UTF8,需要新增变量NLS_LANG,赋值为:SIMPLIFIED CHINESE_CHINA.AL32UTF8
SmileNicky
2019/05/13
1.9K0
oracle部署之plsql developer编码设置
设置为UTF8,需要新增变量NLS_LANG,赋值为:SIMPLIFIED CHINESE_CHINA.AL32UTF8
SmileNicky
2022/05/07
1.3K0
oracle部署之plsql developer编码设置
Oracle Developer Tools For Visual Studio的使用
由于微软官方已经声称,不再更新微软.NET自带的 OracleClient 库。微软将从 .NET 4 以后的版本弃用 System.Data.OracleClient。
williamwong
2018/07/24
1.4K0
Oracle Developer Tools For Visual Studio的使用

相似问题

Oracle Sql Developer无法导出clob数据?

10

如何在oracle sql developer中导出clob字段数据

53

Oracle SQL Developer在导出时忽略NLS

30

使用Oracle SQL Developer将CLOB导出到文本文件

50

Oracle Sql Developer导出慢

10
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文