JDBC Driver-Versionshinweise 2023¶
Dieser Artikel enthält die Versionshinweise für JDBC Driver, einschließlich der folgenden, sofern zutreffend:
Verhaltensänderungen
Neue Features
Fehlerkorrekturen für Kunden
Snowflake verwendet semantische Versionierung für JDBC Driver-Aktualisierungen.
Version 3.14.4 (07. Dezember 2023)¶
Neue Features und Aktualisierungen¶
Keine.
Fehlerkorrekturen¶
NullPointerException
wurde behoben, die auftrat, wenn der Schlüssel der EigenschaftgzipDisabled
keinen Wert hatte.Sicherheitsproblem bei der Protokollierung im Zusammenhang mit dem Verzeichnis
temp
wurde behoben:Die Protokollierung greift nicht mehr auf das „temp“-Verzeichnis zu.
Der Standardwert
logpath
wurde vom Verzeichnistemp
in das Verzeichnishome
geändert.
Ein Problem wurde behoben, bei dem der Treiber von JDK v21 mit Arrow fehlschlug.
Version 3.14.3 (07. November 2023)¶
Neue Features und Aktualisierungen¶
Folgende Bibliotheken wurden aktualisiert:
org.codehaus.plexus:plexus-archiver von 2.4.4 auf 4.8.0
org.codehaus.plexus:plexus-archiver von 2.6 auf 4.8.0
org.bouncycastle:bc-fips von 1.0.2.1 auf 1.0.2.4
aws-java-sdk auf 1.12.501
jackson auf 2.15.3
netty bis 4.1.100.Final
grpc auf 1.59.0
Die Verbindungseigenschaft
enablePutGet
wurde hinzugefügt, um festzulegen, ob die Befehle PUT und GET Zugriff auf lokale Dateisysteme erhalten sollen.Unterstützung für die Verwaltung der Häufigkeit von Wiederholungsversuchen bei erfolglosen Verbindungsanforderungen hinzugefügt:
Parameter
retryTimeout
wurde mit einem Standardwert von 300 Sekunden hinzugefügt.Verwendung der Verbindungsparameter
loginTimeout
undmaxHttpRetries
durch den Treiber wurde aktualisiert und der Standardwert vonloginTimeout
auf 300 Sekunden geändert.
Fehlerkorrekturen¶
Problem im Zusammenhang mit
NoSuchMethodError
bei Verwendung von snowflake-ingest-sdk 2.0.3 wurde behoben.Problem bei der Umwandlung des Datentyps
NULL
inDATE
behoben.Problem mit GCP-Downscope-Token behoben.
Version 3.13.34 (25. Oktober 2023)¶
Neue Features und Aktualisierungen¶
Keine.
Fehlerkorrekturen¶
Problem im Zusammenhang mit fehlgeschlagenen PUT-Befehlen mit einem GCP-Downscope-Token in
snowflake-jdbc-fips
behoben.
Version 3.14.2 (02. Oktober 2023)¶
Neue Features und Aktualisierungen¶
Keine.
Fehlerkorrekturen¶
Problem behoben, bei dem der Treiber die
useS3RegionUrl
vonJsonNode
ingetStageInfo
nicht beachtet hat.
Version 3.14.1 (24. August 2023)¶
Neue Features und Aktualisierungen¶
Möglichkeit hinzugefügt, optionale Header aus den
util
-Methoden zu senden.Funktion
getQueryStatus
inSfBaseSession
verschoben, um asynchrone Aufrufe in gespeicherten Prozeduren zu unterstützen.
Fehlerkorrekturen¶
Problem behoben, bei dem der Treiber nicht die gesamte OSCP-URL für private Links gesendet hat.
Version 3.14.0 (27. Juli 2023)¶
Änderung in Verhaltensänderungs-Release (BCR)¶
Problem behoben, bei dem der JDBC-Treiber unter bestimmten Bedingungen HTTP-Anforderungen unbegrenzt wiederholen konnte.
Bisher hat der JDBC-Treiber die während eines Ausfalls fehlgeschlagene HTTP-Anforderung so lange wiederholt, bis sie erfolgreich war oder bis jemand das Beenden der Operation erzwungen hat.
Mit dieser Änderung werden endlose HTTP-Wiederholungsversuche, die von
execute
- undexecuteQuery
-Aufrufen ausgehen, deaktiviert. Der JDBC-Treiber begrenzt wiederholte HTTP-Versuche jetzt standardmäßig auf sieben Wiederholungen. Kunden können über den SitzungsparametermaxHttpRetries
die maximale Anzahl der Wiederholungsversuche selbst festlegen. Kunden könnenmaxHttpRetries=0
einstellen, wodurch das Limit für die Wiederholungsversuche aufgehoben wird. Dabei besteht jedoch die Gefahr, dass der JDBC-Treiber fehlgeschlagene HTTP-Anforderungen unendlich oft wiederholt.
Neue Features und Aktualisierungen¶
Sitzungseigenschaft
CLIENT_OUT_OF_BAND_TELEMETRY_ENABLED
wurde hinzugefügt, mit der Sie die OOB-Telemetrie deaktivieren können.Handhabung von
locatorsUpdateCopy()
Funktionsaufrufen verbessert. Der Treiber gibt nunFALSE
zurück, anstatt eine Ausnahme auszulösen.Behandlung von „400 Bad Request“-Fehlern für S3-Clients aktualisiert und Verbindungseigenschaft
putGetMaxRetries
zum Konfigurieren der maximalen Anzahl von Wiederholungsversuchen für PUT/GET-Ausnahmen für Speicherclients hinzugefügt (Standard: 7).Unterstützung von
httpMaxRetries
zuDefaultResultStreamProvider.getResultChunk()
hinzugefügt, um Performance beim Herunterladen von Blöcken zu verbessern.
Fehlerkorrekturen¶
Problem behoben, bei dem der Treiber bei Aufruf von
driver.getPropertyInfo()
fälschlicherweise Nullzeiger-Ausnahmen (NPEs) auslöste.Problem behoben, bei dem
reader.LoadNextBatch()
beim Lesen des Arrow-Streams gelegentlich eineClosedByInterruptException
-Ausnahme auslöste.Problem behoben, bei dem der JDBC-Treiber falsche Proxyeinstellungen für S3-Clients verwendete.
Problem behoben, bei dem die Funktion
downloadStream()
Dateinamen mit japanischen Zeichen nicht zuließ.Problem behoben, bei dem „~“ in PUT/GET-Dateipfaden nicht erlaubt war.
Problem behoben, bei dem der Treiber eine InvalidPathException-Ausnahme ausgelöst hat, wenn ein Windows-Dateipfad das Präfix
file://
für das Protokollieren von Konfigurationsdateien enthielt.
Version 3.13.33 (14. Juni 2023)¶
Neue Features und Aktualisierungen¶
Keine.
Fehlerkorrekturen¶
MessageFormat.format
-Ausnahmen werden sorgfältig verarbeitet.
Version 3.13.32 (26. Mai 2023)¶
Neue Features und Aktualisierungen¶
Keine.
Fehlerkorrekturen¶
Fehler behoben, der in 3.13.31 eingeführt wurde und Java Runtime 8 betraf.
Version 3.13.31 (25. Mai 2023)¶
Bemerkung
Aktualisieren Sie auf neuere Versionen, insbesondere, wenn Sie einen Fehler feststellen, der Java Runtime 8 betrifft.
Neue Features und Aktualisierungen¶
Hybride transaktionale/analytische Verarbeitung (HTAP) verbessert.
Bibliothek
org.apache.httpcomponents:httpclient
wurde auf Version 4.5.13 aktualisiert, um ein Sicherheitsupdate bereitzustellen.
Fehlerkorrekturen¶
Problem behoben, bei dem die Authentifizierungsversuche bei Anfragen zum Herunterladen von Blöcken eine Zeitüberschreitung zur Folge hatten.
Problem beim Parsen der Konfigurationsdatei unter Windows wurde behoben.
Ein int64-Überlaufproblem mit großen oder kleinen
datetime
-Werten wurde behoben.Fehlermeldung verbessert, die angezeigt wird, wenn eine Verbindung aufgrund von SSL/TLS-Fehlern abgebrochen wird.
Problem behoben, bei dem die Funktion
getTime()
eine Zeit basierend auf der falschen Zeitzone zurückgab, wennuseSessionTimezone
aktiviert war.Problem behoben, bei dem ASCII Null-Zeichen und Kontrollzeichen wahllos von einem
resultset
mitjdbc_query_result_format=JSON
gelöscht wurden.
Version 3.13.30 (18. April 2023)¶
Neue Features und Aktualisierungen¶
Folgende Software-Bibliotheken wurden aktualisiert:
slf4j-api von Version 1.7.25 auf Version 2.0.6.
logback-classic von Version 1.2.3 auf Version 1.3.6.
Die nicht kritische Meldung „SEVERE: HTTP request took longer than 5 min“ wurde von einer Fehlermeldung in eine Warnmeldung umgewandelt.
Eigenschaft
http.proxyProtocol
für JVM-Proxy-Einstellungen wurde hinzugefügt.
Fehlerkorrekturen¶
Problem behoben, bei dem die Authentifizierungsversuche bei Anfragen zum Herunterladen von Blöcken eine Zeitüberschreitung zur Folge hatten.
Problem behoben, bei dem Anmeldeinformationen in Ausnahmen sichtbar waren, wenn die Verbindungs-URL nicht getrennt wurde.
Problem mit Arbeitsspeicherverlusten behoben, bei dem
isClosed()
überprüft wurde, bevor einresultset
zuopenResultSets
hinzugefügt wurde.Problem behoben, bei dem eine irreführende SAML2-Assertion-Fehlermeldung gesendet wurde, wenn
hostnames
-Werte nicht übereinstimmten.Problem mit URL-kodierten OSCP-Anfragen wurde behoben.
Problem behoben, bei dem die Funktion
SnowflakeFileTransferAgent.uploadStream()
die Optionoverwrite=false
nicht korrekt verarbeitet hat.Problem behoben, bei dem die Methode
metadata.etTableTypes()
die falschen Tabellentypen zurückgab.Treiber wurde so aktualisiert, dass die SQL-Fehlermeldung in einer Ausnahmemeldung angezeigt wird, die ausgelöst wird, wenn asynchrone Abfrageaufrufe zu einer fehlgeschlagenen Abfrage und einer Ausnahme führen.
Prüfung für die seltenen Fälle hinzugefügt, in denen „get procedure“-Spaltenaufrufe ein leeres Resultset zurückgeben.
Die Warnstufe für Protokollmeldungen im Zusammenhang mit
SnowflakeConnectionString
-Parsingfehlern wurde in „Debug/Info“ geändert.Problem behoben, bei dem der JDBC-Treiber Anforderungen, die mit
SSLHandshakeException
fehlgeschlagen sind, wiederholt hat.Unterstützung der Systemeigenschaft
snowflake.jdbc.enable.illegalAccessWarning
wurde hinzugefügt, damit Benutzer Warnungen vor illegalem Zugriff deaktivieren können.Problem behoben, bei dem Fehlermeldungen zum Hochladen von Dateien zur GSC die falschen Informationen anzeigten.
TTL-Standardwert wurde geändert, um eine inaktive Verbindung nach 60 Sekunden zu schließen.
Problem mit der vorbereiteten Anweisungs-ID wurde behoben, indem zusätzliche DESCRIBE-Aufrufe entfernt wurden.
Version 3.13.29 (17. März 2023)¶
Neue Features und Aktualisierungen¶
Keine.
Fehlerkorrekturen¶
Problem behoben, bei dem falsche Spaltentypnamen für die Spaltenmetadaten einer gespeicherten Prozedur zurückgegeben wurden, wenn
USE_STATEMENT_TYPE_CALL_FOR_STORED_PROC_CALLS=true
.Problem behoben, bei dem JDBC eine GET-Anforderung wiederholte, wenn eine Datei nicht heruntergeladen werden konnte, weil der Speicherplatz des Zieldateisystems nicht ausreichte. Der Treiber löst in dieser Situation eine Ausnahme aus.
Problem behoben, bei dem JDBC Anforderungen auf Azure-Clients wiederholte, wenn ein 404-Ressourcenfehler auftrat. Der Treiber löst in dieser Situation eine Ausnahme aus.
Zum Schutz vor Einschleusung von SQL-Befehlen ersetzt der JDBC-Treiber jetzt Anführungszeichen in den Mustersuchargumenten der DatabaseMetadata-API.
Problem behoben, bei dem „getClob()“-Aufrufe eine NullPointerException-Ausnahme auslösten, wenn eine Spalte einen NULL-Wert enthielt. Jetzt gibt der Treiber
NULL
zurück, wenn die Spalte einenSQL NULL
-Wert enthält.Problem behoben, bei dem der JDBC-Treiber eine SSO-URL vor dem Ausführen nicht validieren konnte. Jetzt verwendet der Treiber die Dienstprogramme
URLValidator
undURLEncoder
, um die URL zu validieren und zu kodieren.
Version 3.13.28 (22. Februar 2023)¶
Neue Features und Aktualisierungen¶
Keine.
Fehlerkorrekturen¶
Unterstützung von Datentyp GEOMETRY in
SnowflakeType
-Typ „enum“ hinzugefügt, um Problem zu beheben, das auftrat, wenn die FunktionmetaData.getColumns()
aufgerufen wurde, um Metadaten zurückzugeben, die GEOMETRY-Daten enthielten.Wiederholungsproblem in GCP-„uploadStream“ behoben, das zu teilweisen Datei-Uploads führte, wenn JDBC fälschlicherweise versuchte, das Hochladen eines Eingabestreams zu wiederholen.
Problem mit gespeicherten Funktionen und Prozeduren behoben, das bei Aufruf der Funktionen
getProcedureColumns()
undgetFunctionColumns()
einresultset
zurückgab.Problem behoben, das dazu führte, dass StreamLoader übermäßig viele Protokollmeldungen generierte.
Version 3.13.27 (30. Januar 2023)¶
Neue Features und Aktualisierungen¶
Keine
Fehlerkorrekturen¶
Racebedingung behoben, die gelegentlich während der Operationen GET und PUT auftrat.
Problem behoben, bei dem die Okta-Authentifizierung fehlschlug, wenn ein HTTP-429-Fehler auftrat.