notebook vb

This commit is contained in:
2026-03-18 07:13:47 +01:00
parent a599b6741b
commit f2dc33a05e
23 changed files with 9102 additions and 13 deletions

View File

@@ -0,0 +1,46 @@
"""Prozkoumá strukturu tabulky DATA v externí DB - spusť na Windows"""
import fdb, glob
soubory = glob.glob(r'u:\MEDICUS_FILES_*.fdb') + glob.glob(r'u:\MEDICUS_FILES_*.FDB')
if not soubory:
soubory = glob.glob(r'u:\externi\MEDICUS_FILES_*.fdb') + glob.glob(r'u:\externi\MEDICUS_FILES_*.FDB')
soubor = sorted(soubory)[-1]
print(f"Soubor: {soubor}\n")
conn = fdb.connect(dsn=f'localhost:{soubor}', user='SYSDBA', password='masterkey', charset='win1250')
cur = conn.cursor()
# Sloupce tabulky DATA
print("=== Sloupce tabulky DATA ===")
cur.execute("""
SELECT r.RDB$FIELD_NAME, f.RDB$FIELD_TYPE, f.RDB$FIELD_LENGTH, f.RDB$SEGMENT_LENGTH
FROM RDB$RELATION_FIELDS r
JOIN RDB$FIELDS f ON f.RDB$FIELD_NAME = r.RDB$FIELD_SOURCE
WHERE r.RDB$RELATION_NAME = 'DATA'
ORDER BY r.RDB$FIELD_POSITION
""")
for row in cur.fetchall():
typ = {7:'SMALLINT',8:'INTEGER',12:'DATE',13:'TIME',14:'CHAR',16:'INT64',35:'TIMESTAMP',37:'VARCHAR',261:'BLOB'}.get(row[1], str(row[1]))
print(f" {row[0].strip():30} {typ} len={row[2]}")
# Generátory
print("\n=== Generátory ===")
cur.execute("SELECT RDB$GENERATOR_NAME, RDB$GENERATOR_ID FROM RDB$GENERATORS WHERE RDB$SYSTEM_FLAG=0")
for row in cur.fetchall():
print(f" {row[0].strip()} = {row[1]}")
# Počet záznamů a ukázka
print("\n=== Počet záznamů ===")
cur.execute("SELECT COUNT(*) FROM DATA")
print(f" {cur.fetchone()[0]} záznamů")
print("\n=== Ukázka 3 záznamů (bez BLOB) ===")
cur.execute("""
SELECT ID, OCTET_LENGTH(BODY) as VELIKOST
FROM DATA ORDER BY ID ROWS 3
""")
for row in cur.fetchall():
print(f" ID={row[0]} BODY={row[1]}B")
conn.close()