我是靠谱客的博主 慈祥石头,最近开发中收集的这篇文章主要介绍oracle sql被截断,防止Oracle SQL Developer在导出时截断CLOB,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

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

from __future__ import print_function

from __future__ import division

import time

import cx_Oracle

def get_cursor():

'''

Get a cursor to the database

'''

# https://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

最后

以上就是慈祥石头为你收集整理的oracle sql被截断,防止Oracle SQL Developer在导出时截断CLOB的全部内容,希望文章能够帮你解决oracle sql被截断,防止Oracle SQL Developer在导出时截断CLOB所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(48)

评论列表共有 0 条评论

立即
投稿
返回
顶部