Задать вопрос
  • Как проверить контрольную сумму пришедших данных?

    @Olteya
    Если хотите через хеш, попробуйте написать на пайтоне скрипт, который будет считать хеш по МД5, посчитайте суммы для нужной таблицы для СУБД источника и приемника и сравните.
    Не являюсь специалистом по пайтон, но найденный пример кажется похожим на правду:
    import hashlib
    import psycopg2
    import sqlite3
    
    def calculate_md5(cursor, table_name):
        cursor.execute(f'SELECT * FROM {table_name}')
        rows = cursor.fetchall()
        md5 = hashlib.md5()
        for row in rows:
            md5.update(str(row).encode('utf-8'))
        return md5.hexdigest()
    
    # SQLite
    sqlite_conn = sqlite3.connect('source.db')
    sqlite_cursor = sqlite_conn.cursor()
    sqlite_md5 = calculate_md5(sqlite_cursor, 'source_table')
    
    # PostgreSQL
    pg_conn = psycopg2.connect(
        dbname="target_db", user="user", password="password", host="localhost"
    )
    pg_cursor = pg_conn.cursor()
    pg_md5 = calculate_md5(pg_cursor, 'target_table')
    
    # Сравнение
    if sqlite_md5 == pg_md5:
        print("Контрольные суммы совпадают.")
    else:
        print("Контрольные суммы не совпадают.")
    Написано