SAP HANA
Diese Seite wurde von PageTurner AI übersetzt (Beta). Nicht offiziell vom Projekt unterstützt. Fehler gefunden? Problem melden →
Installation
TypeORM nutzt @sap/hana-client zum Aufbau der Datenbankverbindung:
npm install @sap/hana-client
Bei TypeORM 0.3.25 oder älter wird zusätzlich hdb-pool für das Pool-Management benötigt.
Datenquellen-Optionen
Allgemeine Datenquellen-Optionen finden Sie unter Data Source Options.
-
host- Der Hostname des SAP HANA-Servers. Zum Beispiel"localhost". -
port- Die Portnummer des SAP HANA-Servers. Zum Beispiel30015. -
username- Der Benutzername für die Verbindung zum SAP HANA-Server. Zum Beispiel"SYSTEM". -
password- Das Passwort für die Verbindung zum SAP HANA-Server. Zum Beispiel"password". -
database- Der Name der Datenbank, zu der verbunden werden soll. Zum Beispiel"HXE". -
encrypt- Legt fest, ob die Verbindung verschlüsselt werden soll. Zum Beispieltrue. -
sslValidateCertificate- Legt fest, ob das SSL-Zertifikat validiert werden soll. Zum Beispieltrue. -
key,certundca- Privater Schlüssel, öffentliches Zertifikat und Zertifizierungsstelle für die verschlüsselte Verbindung. -
pool— Konfigurationsobjekt für den Verbindungspool:maxConnectedOrPooled(number) — Maximale aktive oder gepoolte Verbindungen im Pool (Standard: 10).maxPooledIdleTime(Sekunden) — Zeit bis zum Schließen inaktiver Verbindungen (Standard: 30).maxWaitTimeoutIfPoolExhausted(Millisekunden) - Wartezeit bei erschöpftem Pool (Standard: 0, kein Warten). Erfordert@sap/hana-clientVersion2.27oder höher.pingCheck(boolean) — Prüfung der Verbindungen vor Verwendung (Standard: false).poolCapacity(number) — Maximale Anzahl verfügbar gehaltener Verbindungen (Standard: keine Begrenzung).
Weitere Details sowie die extra-Eigenschaften finden Sie in der offiziellen SAP HANA Client-Dokumentation: Node.js Connection Properties.
Spaltentypen
SAP HANA 2.0 und SAP HANA Cloud unterstützen leicht unterschiedliche Datentypen. Konsultieren Sie die SAP-Hilfeseiten:
Der SapDriver von TypeORM unterstützt tinyint, smallint, integer, bigint, smalldecimal, decimal, real, double, date, time, seconddate, timestamp, boolean, char, nchar, varchar, nvarchar, text, alphanum, shorttext, array, varbinary, blob, clob, nclob, st_geometry, st_point, real_vector und half_vector. Einige dieser Typen sind in SAP HANA Cloud veraltet oder entfernt und werden dort in die nächstgelegene verfügbare Alternative konvertiert.
Vektortypen
Die Datentypen real_vector und half_vector wurden in SAP HANA Cloud eingeführt (jeweils 2024Q1 und 2025Q2) und erfordern ebenfalls eine unterstützte Version von @sap/hana-client.
Für Konsistenz mit der Vektorunterstützung von PostgreSQL bietet TypeORM zusätzlich Aliase an:
-
vector(Alias fürreal_vector) - speichert Vektoren als 4-Byte-Floats -
halfvec(Alias fürhalf_vector) - speichert Vektoren als 2-Byte-Floats für höhere Speichereffizienz
@Entity()
export class Document {
@PrimaryGeneratedColumn()
id: number
// Using SAP HANA native type names
@Column("real_vector", { length: 1536 })
embedding: Buffer | number[]
@Column("half_vector", { length: 768 })
reduced_embedding: Buffer | number[]
// Using cross-database aliases (recommended)
@Column("vector", { length: 1536 })
universal_embedding: Buffer | number[]
@Column("halfvec", { length: 768 })
universal_reduced_embedding: Buffer | number[]
}
Standardmäßig gibt der Client einen Buffer im fvecs- bzw. hvecs-Format zurück, was effizienter ist. Durch Hinzufügen von { extra: { vectorOutputType: "Array" } } zu den Verbindungsoptionen kann der Treiber die Werte in ein number[] konvertieren. Weitere Details finden Sie in der SAP HANA Client-Dokumentation zu REAL_VECTOR und HALF_VECTOR.
Verwenden Sie die passenden Vektorfunktionen für Ähnlichkeitssuchen.