Как мы можем записать pandas dataframe в базу данных Netezza напрямую, используя pyodbc? - PullRequest
0 голосов
/ 30 января 2019

У меня есть база данных Netezza на удаленном сервере, и я пытаюсь записать в базу данных, используя Pyodbc.

Соединение работает при чтении из базы данных. Однако при попытке записи я не могу записать вбаза данных Netezza.Отображается следующая ошибка:

"Ошибка: ('HY000', '[HY000] ОШИБКА: Столбец 4: Поле не может содержать нулевые значения (46) (SQLExecDirectW)')"

Вкл.При дальнейшей проверке столбца 4 я не нашел нулевого значения в указанной проблеме.

Кроме того, фрагмент кода, который я использую для записи в базу данных, выглядит следующим образом:

for row in Full_Text_All.itertuples():
     srows = str(row[1:]).strip("()")
     query2 = "insert into MERGED_SOURCES values('+srows+')"

где, Full_Text_All - это имя кадра данных, MERGED_SOURCES - это имя таблицы.

1 Ответ

0 голосов
/ 31 января 2019

Возможно, столбец 4 был определен как NOT NULL при создании таблицы.Если у вас есть доступ к DDL таблицы, вы можете проверить это.

Если в столбце 4 была указана опция NOT NULL, я предлагаю вам дважды проверить данные, которые вы пытаетесь вставить.в таблицу: для них значение, соответствующее столбцу 4, не должно быть нулевым.

...