Bir CSV dosyasına büyük CLOB'lar içeren bir sorgu sonucu vermek istiyorum. Ancak, CSV fiels'leri ihraç edildikten sonra, CLOB'lar yaklaşık 4K karakterden sonra kesilir (diğer bir deyişle, "…" ile bitmeden sona erer). Oracle SQL Developer'ın dışa aktarmadaki CLOB'ları kesmesini nasıl önleyebiliriz?Oracle SQL Developer'ın dışa aktarma sırasında CLOB'ları kesmesini engelle
cevap
SQL Geliştirici Sürüm 4.1.3.20 kullanarak kullanarak ve aynı sorunu var ediyorum. Benim için çalışan tek şey, dışa aktarma formatı olarak XML'i seçmekti. Bunu yaparken, ~ 135.000 karakter JSON dizgisini kesmeye gerek kalmadan ihraç edebildim.
İkinci sorun, ancak verildikten hemen sonra veri alma girişiminde bulundu ve SQL Developer, "null" hatası nedeniyle dosyayı açamadıklarını söyledi.
bu da benim için çok uzun 100000 ayarlandığında çalışır; longchunksize set 100000; '' 'ancak onları başka bir tabloya aktaramıyorum sadece" null "yazıyor ve kırılıyor –
İhracat için Oracle SQL Developer'ı atlayabilirsiniz; Eğer CLOBs kısaltılmaması böylece ihracat bakacak bir Python komut dosyası kullanabilirsiniz kullanabilirsiniz:
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
- 1. sql oracle sorgu verileri dışa aktarma
- 2. Excel'in HYPERLINKS için baştaki sıfırları kesmesini engelle
- 3. Oracle Veritabanı dışa aktarma komut dosyasını nasıl oluşturabilirim? Oracle SQL Developer'ı Kullanma?
- 4. SQL Developer uygulamasında dışa aktarma işlemini durdurma
- 5. Dışa aktarma sütunu csv'sini dışa aktarma php-mysqli
- 6. Dışa aktarma sırasında boru dosyasını kopyalarken kopyalarken dosyayı indir
- 7. Dışa aktarma sırasında hücre genişliğini ayarlama js-xlsx
- 8. eslint, adlandırılmış dışa aktarma sırasında beklenmedik belirtecin ayrıştırma hatasını atar
- 9. Adlandırılmış dışa aktarma ve varsayılan dışa aktarma aynı anda
- 10. Verileri dışa aktarma veya görüntülerle Word'e dışa aktarma
- 11. Düğüm dışa aktarma
- 12. Modüllerdeki dışa aktarma modülleri
- 13. Dışa aktarma matrisi r
- 14. Sqoop dışa aktarma kimlikleri nasıl kullanılır?
- 15. Java içe aktarma ve dışa aktarma bağımlılıkları
- 16. Oracle veri modelleyicisi/sql geliştiricisinde ERD diyagramı nasıl dışa aktarılır
- 17. Veritabanı izinlerini bir CSV dosyasına dışa aktarma
- 18. SQL sorgusu 2 tabloya katılmak ve phpmyadmin'den Excel'e dışa aktarma
- 19. CSV dışa aktarma dosyası için değiştirme değiştirme
- 20. Oracle SQL vs Oracle PL/SQL
- 21. es2015 yeniden dışa aktarma modülü ve yeniden dışa aktarılmış modülün tek dışa aktarma işlevini geçersiz kılma
- 22. SQLCMD.EXE kullanarak CSV verilerini dışa aktarma
- 23. Verilerle birlikte MSSQL dışa aktarma veritabanı
- 24. Powershell çıktısını metin dosyasına dışa aktarma
- 25. Mac'te MonoDevelop - Dışa Aktarma Ayarları
- 26. Video dosyasına dışa aktarma CoreAnimation
- 27. Modül dışa aktarma sınıfı Nodes.js
- 28. Heroku Postgres'ten yedek dışa aktarma
- 29. Genel değişkenleri DLL'den dışa aktarma
- 30. NetBeans ile JAR'yi dışa aktarma
@sstan sayesinde, bu ihracat için Oracle SQL Developer kullanmayı gerektirir işaret soru, benimkinden farklı. –
Yorum için teşekkürler. Kabul. – sstan
> 4k clobs dosyasını dışa aktarmak için SQL Developer'ı kullanabileceğinizi düşünmüyorum. Jeff Smith http://stackoverflow.com/users/1156452/thatjeffsmith SQL Developer için ürün yöneticisidir, böylece kesin bir cevap verebilecektir. Güzel Python script BTW. –