Oracle
 sql >> डेटाबेस >  >> RDS >> Oracle

एक्ज़ीक्यूटमैनी () का उपयोग करके फ़ाइल से Oracle तालिका में डेटा लोड करने में असमर्थ

इस परीक्षण डेटा फ़ाइल के साथ:

1|Fred|Nurke|21|UK
2|Henry|Crun|21|UK

यह कोड काम करता है:

import logging
import cx_Oracle
import csv
import sys
import os

if sys.platform.startswith("darwin"):
    cx_Oracle.init_oracle_client(lib_dir=os.environ.get("HOME")+"/Downloads/instantclient_19_8")

insertQuery="insert into test (id,name,surname,age,country) values (:1, :2, :3, :4, :5)"
oracleconnection = 'un/[email protected]/orclpdb1'
my_separator='|'
file_name = 'demo_2021.csv'

try:
    con=cx_Oracle.connect(oracleconnection)
    cur=con.cursor()

    # Predefine the memory areas to match the table definition
    cur.setinputsizes(None, 50, 50, None, 50)

    # Adjust the batch size to meet your memory and performance requirements
    batch_size = 10000

    with open(file_name, 'r') as csv_file:
        csv_reader = csv.reader(csv_file, delimiter=my_separator)
        data = []
        for line in csv_reader:
            data.append((line[0], line[1], line[2], line[3], line[4]))
            if len(data) % batch_size == 0:
                cur.executemany(sql, data)
                data = []
        if data:
            cur.executemany(insertQuery, data)
        con.commit()

        
except Exception as er:
    print(er)

SQL*प्लस बाद में:

  ID NAME  SURNAME AGE COUNTRY
---- ----- ------- --- -------
   1 Fred  Nurke    21 UK
   2 Henry Crun     21 UK



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. विभिन्न SQL कथनों के साथ तैयार स्टेटमेंट बैचिंग

  2. डेल्फी डेटा-जागरूक घटकों का उपयोग करना - पेशेवरों और विपक्ष

  3. कैसे एक अद्वितीय बाधा उल्लंघन के आसपास पाने के लिए?

  4. एसक्यूएल फिडल आउटपुट त्रुटि

  5. Oracle D2k फ़ॉर्म में PLSQL कोड प्रदर्शन को ट्यून या टेस्ट कैसे करें