SAP HANA
Questa pagina è stata tradotta da PageTurner AI (beta). Non ufficialmente approvata dal progetto. Hai trovato un errore? Segnala problema →
Installazione
TypeORM utilizza @sap/hana-client per stabilire la connessione al database:
npm install @sap/hana-client
Se stai utilizzando TypeORM 0.3.25 o versioni precedenti, è richiesto anche hdb-pool per gestire il pool.
Opzioni Data Source
Consulta Opzioni del Data Source per le opzioni comuni dei data source.
-
host- Il nome host del server SAP HANA. Ad esempio,"localhost". -
port- Il numero di porta del server SAP HANA. Ad esempio,30015. -
username- Il nome utente per connettersi al server SAP HANA. Ad esempio,"SYSTEM". -
password- La password per connettersi al server SAP HANA. Ad esempio,"password". -
database- Il nome del database a cui connettersi. Ad esempio,"HXE". -
encrypt- Indica se cifrare la connessione. Ad esempio,true. -
sslValidateCertificate- Indica se validare il certificato SSL. Ad esempio,true. -
key,certeca- Chiave privata, certificato pubblico e autorità di certificazione per la connessione cifrata. -
pool— Oggetto di configurazione del pool di connessioni:maxConnectedOrPooled(number) — Numero massimo di connessioni attive o inattive nel pool (predefinito: 10).maxPooledIdleTime(secondi) — Tempo prima che una connessione inattiva venga chiusa (predefinito: 30).maxWaitTimeoutIfPoolExhausted(millisecondi) - Tempo di attesa per una connessione disponibile (predefinito: 0, nessuna attesa). Richiede@sap/hana-clientversione2.27o successiva.pingCheck(boolean) — Indica se validare le connessioni prima dell'uso (predefinito: false).poolCapacity(number) — Numero massimo di connessioni mantenute disponibili (predefinito: nessun limite).
Consulta la documentazione ufficiale di SAP HANA Client per maggiori dettagli e le proprietà extra: Node.js Connection Properties.
Tipi di Colonna
SAP HANA 2.0 e SAP HANA Cloud supportano tipi di dati leggermente diversi. Consulta le pagine di assistenza SAP per maggiori informazioni:
Il SapDriver di TypeORM supporta 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 e half_vector. Alcuni di questi tipi di dati sono stati deprecati o rimossi in SAP HANA Cloud e verranno convertiti nell'alternativa disponibile più vicina quando ci si connette a un database Cloud.
Tipi Vector
I tipi di dati real_vector e half_vector sono stati introdotti in SAP HANA Cloud (rispettivamente nel 2024Q1 e 2025Q2) e richiedono anche una versione supportata di @sap/hana-client.
Per coerenza con il supporto ai vettori di PostgreSQL, TypeORM fornisce anche degli alias:
-
vector(alias perreal_vector) - memorizza i vettori come float a 4 byte -
halfvec(alias perhalf_vector) - memorizza i vettori come float a 2 byte per efficienza di memoria
@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[]
}
Per impostazione predefinita, il client restituirà un Buffer nel formato fvecs/hvecs, che è più efficiente. È possibile configurare il driver per convertire i valori in un number[] aggiungendo { extra: { vectorOutputType: "Array" } } alle opzioni di connessione. Consulta la documentazione di SAP HANA Client per maggiori dettagli su REAL_VECTOR o HALF_VECTOR.
Utilizza le opportune funzioni vettoriali per le ricerche di similarità.