notebook vb
This commit is contained in:
47
MedicusWithClaude/test_ext_db3.py
Normal file
47
MedicusWithClaude/test_ext_db3.py
Normal file
@@ -0,0 +1,47 @@
|
||||
"""Zjistí propojení mezi hlavní DB a externí DB - spusť na Windows"""
|
||||
import fdb, glob
|
||||
|
||||
# Hlavní DB
|
||||
conn_main = fdb.connect(dsn=r'localhost:c:\medicus 3\data\medicus.fdb',
|
||||
user='SYSDBA', password='masterkey', charset='win1250')
|
||||
cur = conn_main.cursor()
|
||||
|
||||
# Najít exportované záznamy v FILES (BODY není velký BLOB)
|
||||
print("=== FILES záznamy po exportu (malý BODY = reference na externí DB) ===")
|
||||
cur.execute("""
|
||||
SELECT ID, IDPAC, FILENAME, DATUM, EXT_ID, DOCID,
|
||||
OCTET_LENGTH(BODY) as BODY_LEN,
|
||||
CAST(BODY AS VARCHAR(100)) as BODY_TEXT
|
||||
FROM FILES
|
||||
WHERE OCTET_LENGTH(BODY) < 100
|
||||
ORDER BY ID DESC ROWS 5
|
||||
""")
|
||||
for r in cur.fetchall():
|
||||
print(f" ID={r[0]} IDPAC={r[1]} FILE={r[2]}")
|
||||
print(f" DATUM={r[3]} EXT_ID={r[4]} DOCID={r[5]}")
|
||||
print(f" BODY_LEN={r[6]} BODY_TEXT='{r[7]}'")
|
||||
|
||||
# Ukázka záznamu s plným BODY (ještě ne exportovaný)
|
||||
print("\n=== FILES záznamy PŘED exportem (velký BODY = binary data) ===")
|
||||
cur.execute("""
|
||||
SELECT ID, FILENAME, DATUM, EXT_ID, OCTET_LENGTH(BODY) as BODY_LEN
|
||||
FROM FILES
|
||||
WHERE OCTET_LENGTH(BODY) > 1000
|
||||
ORDER BY ID DESC ROWS 3
|
||||
""")
|
||||
for r in cur.fetchall():
|
||||
print(f" ID={r[0]} FILE={r[1]} DATUM={r[2]} EXT_ID={r[3]} BODY={r[4]}B")
|
||||
|
||||
conn_main.close()
|
||||
|
||||
# Porovnat s externí DB
|
||||
print("\n=== DATA záznamy v externí DB ===")
|
||||
soubory = glob.glob(r'u:\MEDICUS_FILES_*.fdb') + glob.glob(r'u:\MEDICUS_FILES_*.FDB')
|
||||
soubor = sorted(soubory)[0] # vezmeme nejstarší
|
||||
print(f"Soubor: {soubor}")
|
||||
conn_ext = fdb.connect(dsn=f'localhost:{soubor}', user='SYSDBA', password='masterkey', charset='win1250')
|
||||
cur_ext = conn_ext.cursor()
|
||||
cur_ext.execute("SELECT UID, DATASIZE, CHUNK FROM DATA ORDER BY CHUNK ROWS 5")
|
||||
for r in cur_ext.fetchall():
|
||||
print(f" UID='{r[0]}' DATASIZE={r[1]} CHUNK={r[2]}")
|
||||
conn_ext.close()
|
||||
Reference in New Issue
Block a user