import numpy as np
import cx_Oracle
import pandas as pd
but, I need to create a table in the DW and use these results. I have already make this on another projects, and it worked, but for this, don't work.
I create the table ( check on pl/sql and is there) but when i insert gives error
# Criar tabela DM_IC_NPS no banco de dados Oracle
create_table_query = '''
CREATE TABLE DM_IC_NPS (
Ano NUMBER,
Janeiro VARCHAR2(30),
Fevereiro VARCHAR2(30),
Março VARCHAR2(30),
Abril VARCHAR2(30),
Maio VARCHAR2(30),
Junho VARCHAR2(30),
Julho VARCHAR2(30),
Agosto VARCHAR2(30),
Setembro VARCHAR2(30),
Outubro VARCHAR2(30),
Novembro VARCHAR2(30),
Dezembro VARCHAR2(30),
Empresa VARCHAR2(30)
)
'''
cursor.execute(create_table_query)
# Inserir dados na tabela DM_IC_NPS
# cursor e commit devem ficar dentro da função!!!!!
for index, row in DM_IC_NPS.iterrows():
insert_query = '''
INSERT INTO DM_IC_NPS VALUES (
:1, :2, :3, :4, :5, :6, :7, :8, :9, :10,
:11, :12, :13, :14, :15
)
'''
cursor.execute(insert_query, tuple(row))
# Commit para salvar as alterações
conn.commit()
THE ERROR:
ProgrammingError Traceback (most recent call last)
Cell In[47], line 10
3 for index, row in DM_IC_NPS.iterrows():
4 insert_query = '''
5 INSERT INTO DM_IC_NPS VALUES (
6 :1, :2, :3, :4, :5, :6, :7, :8, :9, :10,
7 :11, :12, :13, :14
8 )
9 '''
---> 10 cursor.execute(insert_query, tuple(row))
11 # Commit para salvar as alterações
12 conn.commit()
ProgrammingError: positional and named binds cannot be intermixed
cx_Oracle.version: 8.3.0 cx_Oracle.clientversion: (11, 2, 0, 1, 0) platform.platform: Windows-10-10.0.22631-SP0 sys.maxsize > 2**32: True platform.python_version: 3.11.5
import numpy as np import cx_Oracle import pandas as pd
but, I need to create a table in the DW and use these results. I have already make this on another projects, and it worked, but for this, don't work.
I create the table ( check on pl/sql and is there) but when i insert gives error
THE ERROR:
ProgrammingError Traceback (most recent call last) Cell In[47], line 10 3 for index, row in DM_IC_NPS.iterrows(): 4 insert_query = ''' 5 INSERT INTO DM_IC_NPS VALUES ( 6 :1, :2, :3, :4, :5, :6, :7, :8, :9, :10, 7 :11, :12, :13, :14 8 ) 9 ''' ---> 10 cursor.execute(insert_query, tuple(row)) 11 # Commit para salvar as alterações 12 conn.commit()
ProgrammingError: positional and named binds cannot be intermixed