実現したいこと
作成したデータベースへ値をインポートしたいです。仮にインポートする値は133という整数とします。
作成したデータベースのIPアドレスを仮にAとします。
データベースのHost name/addressをA、portが5432、user nameをpostgres、passwordをBと設定しました。データベース上のデータベース名称はCとしました。
なお、データベースの置かれているPC(IPアドレスはA)とプログラムを走らせるPCは別とします。
データベースを開いた状態で、別のPCのプログラムを実行してデータベースのIDという列に133という
整数をインポートするプログラムを走らせたのですが、データベースの置いてあるPCのデータベースを見ると整数133という値がきちんと入っていません。プログラムのコードの問題なのか、データベース上の設定の問題なのかが不明です。
ご教示いただける範囲でいいので、ご教示いただけますと幸いです。
プログラムはPython3.0で書きました。プログラムを走らせているPCはrasberryPi4です。
発生している問題・分からないこと
rasberryPiのターミナル上からプログラムを実行しましたが、データベース上のテーブルには
整数133が入っておらず、ターミナルを見ても特に変化が見られません(プログラムが終わっても進んでもないように見える)。
エラーメッセージ
error
1添付画像の通りで、コマンドプロンプト上のプログラムは実行完了していないように感じる。
該当のソースコード
Python3.0
1import RPi.GPIO as GPIO 2import time 3import binascii 4import nfc 5import os 6import datetime 7import csv 8import sys 9sys.path.append('/home/pi/.local/lib/python3.7/site-packages') 10import psycopg2 11 12# データベースに接続 13connection = psycopg2.connect(host='Aを入力', 14 user='postgres', 15 password='Bを入力', 16 database='Cを入力') 17 18# Postgres SQLへのインサート 19with connection: 20 with connection.cursor() as cursor: 21 # レコードを挿入 22 sql = "insert into Schemas.C(ID) values (133)"; 23 cursor.execute(sql) 24 25 # コミットしてトランザクション実行 26 connection.commit() 27 28 # 接続を閉じる 29 cursor.close() 30 connection.close() 31 32sys.exit()
試したこと・調べたこと
上記の詳細・結果
googleや知人にも聞きましたが、原因が不明でした。ご教示いただけますとありがたいです。。
補足
pgAdmin 4 のversionは7.8です。データベースの置いてあるPCはwindows10のproです。
0 コメント