取消
顯示的結果
而不是尋找
你的意思是:

與磚JDBC連接的問題:箭頭反序列化數據時發生錯誤

tz1
新的貢獻者三世

我有一個這樣的Java程序來測試出磚的JDBC連接磚JDBC驅動程序

連接連接=零;嚐試{forname(司機);連接= DriverManager。getConnection (url、用戶名、密碼);如果(連接! = null) {system . out。println(建立“連接”);}{system . out。println(“連接失敗”);}= connection.createStatement聲明聲明();ResultSet rs =聲明。executeQuery (“select * from standard_info_service.daily_transactions”); while (rs.next()) { System.out.print("created_date: " + rs.getInt("created_date") + ", "); System.out.println("daily_transactions: " + rs.getInt("daily_transactions")); } } catch (Exception e) { System.out.println(e); }

然而,這個程序拋出一個錯誤:

連接建立警告:sun.reflect.Reflection。不支持getCallerClass。這將影響性能。java.sql。SQLException異常(辛巴):[SparkJDBCDriver](500618)錯誤發生而反序列化箭頭數據:sun.misc。安全或java.nio.DirectByteBuffer。< init >(長,int)

解決方案是什麼呢?

1接受解決方案

接受的解決方案

Alice__Caterpil
新的貢獻者三世

嗨@Jose岡薩雷斯,

這類似的問題在JDBC的雪花就是一個很好的參考,我能夠得到這個工作在Java OpenJDK 17日通過該JVM選項指定:

——add-opens = java.base / nio = ALL-UNNAMED

雖然我遇到的另一個問題使用apache DHCP SQL端點連接到數據磚:

引起的:java.sql。SQLFeatureNotSupportedException(辛巴):(JDBC)(10220)驅動程序不支持這個可選特性。

在com.simba.spark.exceptions.ExceptionConverter。toSQLException(未知來源)

com.simba.spark.jdbc.common.SConnection.setAutoCommit(未知源)

在com.simba.spark.jdbc.jdbc42.DSS42Connection。setAutoCommit(未知來源)

org.apache.commons.dbcp2.DelegatingConnection.setAutoCommit (DelegatingConnection.java: 801)

org.apache.commons.dbcp2.DelegatingConnection.setAutoCommit (DelegatingConnection.java: 801)

同樣的問題發生在我“光之輪”轉向。

最後,我明白了工作僅使用基本數據源和自動提交設置為False。BasicDataSource不適合生產,會有一個新的司機釋放,能更好地處理這個問題嗎?

在原帖子查看解決方案

13日回複13

Kaniz
社區經理
社區經理

嗨@Tony周,你可以指定你使用的版本嗎?

tz1
新的貢獻者三世

由於@Kaniz開羅

openjdk-17.0.2

磚JDBC驅動程序2.6.22

Alice__Caterpil
新的貢獻者三世

這個錯誤是火花文檔中提到的-https://spark.apache.org/docs/latest/,看起來這是特定於版本的Java和可以避免提到屬性設置

嗨@Alice掛,謝謝你的貢獻。

歡迎來到磚社區:讓學習、網絡和一起慶祝

加入我們的快速增長的數據專業人員和專家的80 k +社區成員,準備發現,幫助和合作而做出有意義的聯係。

點擊在這裏注冊今天,加入!

參與令人興奮的技術討論,加入一個組與你的同事和滿足我們的成員。

Baidu
map