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

當試圖使用pyodbc連接器寫文件的SQL server接收錯誤。. lang。ClassNotFoundException任何替代方案或解決這個問題的方法嗎?

Chris_Shehu
重視貢獻三世
jdbcUsername = * * * * * * * * jdbcPassword = * * * * * * * * * * * * * * * server_name = " jdbc::狀態"置疑" / / * * * * * * * * * * *:* * * * * *”database_name =“* * * * * * * *”url = server_name +”;“+ "databaseName=" + database_name + ";" table_name = "PatientTEST" try: df.write \ .format("com.microsoft.sqlserver.jdbc.spark") \ .mode("overwrite") \ .option("url", url) \ .option("dbtable", table_name) \ .option("user", jdbcUsername) \ .option("password", jdbcPassword) \ .save() except ValueError as error : print("Connector write failed", error)

java.lang.ClassNotFoundException:

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

Py4JJavaError回溯(最近調用最後)

模塊在< <命令- 1025811192119468 > >

10

11個試題:

推薦- - - - - - > 12 df。寫\

13 .format \ (“com.microsoft.sqlserver.jdbc.spark”)

14 .mode \(“追加”)

/磚/火花/ python / pyspark / sql /讀寫。py保存(自我、路徑、格式、模式、partitionBy、* *選項)

736 self.format(格式)

737如果路徑是:

- - > 738年self._jwrite.save ()

739年:

740 self._jwrite.save(路徑)

/磚/火花/ python / lib / py4j-0.10.9.1-src.zip / py4j / java_gateway。py __call__(自我,* args)

1302年

1303年的答案= self.gateway_client.send_command(命令)

- > 1304 return_value = get_return_value (

1305年的答案,自我。gateway_client,自我。target_id self.name)

1306年

/磚/火花/ python / pyspark / sql /跑龍套。py在德科(*,* *千瓦)

115年def德科(*,* *千瓦):

116年試題:

- - > 117返回f(*, * *千瓦)

118年py4j.protocol除外。Py4JJavaError e:

119 = convert_exception轉換(e.java_exception)

/磚/火花/ python / lib / py4j-0.10.9.1-src.zip / py4j /協議。py get_return_value(答案,gateway_client target_id,名稱)

324值= OUTPUT_CONVERTER[型](回答[2],gateway_client)

325如果[1]= = REFERENCE_TYPE回答:

- - > 326提高Py4JJavaError (

327”時發生一個錯誤調用{0}{1}{2}。\ n”。

328格式(target_id”。“名字),值)

Py4JJavaError:調用o386.save時發生一個錯誤。

:java.lang.ClassNotFoundException:

沒有找到數據來源:com.microsoft.sqlserver.jdbc.spark。請找到包

http://spark.apache.org/third-party-projects.html

org.apache.spark.sql.errors.QueryExecutionErrors .failedToFindDataSourceError美元(QueryExecutionErrors.scala: 511)

org.apache.spark.sql.execution.datasources.DataSource .lookupDataSource美元(DataSource.scala: 747)

org.apache.spark.sql.execution.datasources.DataSource .lookupDataSourceV2美元(DataSource.scala: 797)

org.apache.spark.sql.DataFrameWriter.lookupV2Provider (DataFrameWriter.scala: 962)

org.apache.spark.sql.DataFrameWriter.saveInternal (DataFrameWriter.scala: 285)

org.apache.spark.sql.DataFrameWriter.save (DataFrameWriter.scala: 257)

在sun.reflect.NativeMethodAccessorImpl。invoke0(本地方法)

sun.reflect.NativeMethodAccessorImpl.invoke (NativeMethodAccessorImpl.java: 62)

sun.reflect.DelegatingMethodAccessorImpl.invoke (DelegatingMethodAccessorImpl.java: 43)

java.lang.reflect.Method.invoke (Method.java: 498)

py4j.reflection.MethodInvoker.invoke (MethodInvoker.java: 244)

py4j.reflection.ReflectionEngine.invoke (ReflectionEngine.java: 380)

py4j.Gateway.invoke (Gateway.java: 295)

py4j.commands.AbstractCommand.invokeMethod (AbstractCommand.java: 132)

py4j.commands.CallCommand.execute (CallCommand.java: 79)

py4j.GatewayConnection.run (GatewayConnection.java: 251)

java.lang.Thread.run (Thread.java: 748)

引起的:. lang。ClassNotFoundException: com.microsoft.sqlserver.jdbc.spark.DefaultSource

java.net.URLClassLoader.findClass (URLClassLoader.java: 382)

java.lang.ClassLoader.loadClass (ClassLoader.java: 419)

java.lang.ClassLoader.loadClass (ClassLoader.java: 352)

在org.apache.spark.sql.execution.datasources.DataSource。美元anonfun lookupDataSource 5美元(DataSource.scala: 733)

在美元scala.util.Try蘋果(Try.scala: 213)

在org.apache.spark.sql.execution.datasources.DataSource。美元anonfun lookupDataSource 4美元(DataSource.scala: 733)

scala.util.Failure.orElse (Try.scala: 224)

org.apache.spark.sql.execution.datasources.DataSource .lookupDataSource美元(DataSource.scala: 733)

…15

1接受解決方案

接受的解決方案

Hubert_Dudek1
尊敬的貢獻者三世

請檢查下麵的代碼:

df.write。jdbc (url = " jdbc::狀態"置疑" / / <主機>:1433;數據庫= < db >;用戶= <用戶>;密碼= <密碼>;加密= true; trustServerCertificate = false; hostNameInCertificate = * .database.windows.net; loginTimeout = 30;司機= com.microsoft.sqlserver.jdbc.SQLServerDriver”,表=‘病人’模式=“覆蓋”)

在原帖子查看解決方案

2回答2

Hubert_Dudek1
尊敬的貢獻者三世

請檢查下麵的代碼:

df.write。jdbc (url = " jdbc::狀態"置疑" / / <主機>:1433;數據庫= < db >;用戶= <用戶>;密碼= <密碼>;加密= true; trustServerCertificate = false; hostNameInCertificate = * .database.windows.net; loginTimeout = 30;司機= com.microsoft.sqlserver.jdbc.SQLServerDriver”,表=‘病人’模式=“覆蓋”)

你是一個救生圈!謝謝!

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

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

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

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

Baidu
map