有人能帮我解决这个问题吗。我已经成功地安装了Talend工作室(Talend Data 7.3.1)。但是当我尝试使用tDBInput组件连接到Azure数据库时,它显示了一个错误,jar“MSSQLjdbc.jar”丢失了。因为下载按钮是禁用的。
请参见下面显示“下载”按钮已禁用的快照。
我手动下载了jar“MSSQLJDBC-8.4.0.jre11”,并将其指向组件。当我执行Talend作业时,它显示了以下错误
Exception in thread "main" java.lang.UnsupportedClassVersionError: com/microsoft/sqlserver/jdbc/SQLServerDriver has been compiled by a more recent version of the Java Runtime (class file version 59.0), this version of the Java Runtime only recognizes class file versions up to 55.0
at java.base/java.lang.ClassLoader.defineClass1(Native Method)
at java.base/java.lang.ClassLoader.defineClass(ClassLoader.java:1017)
at java.base/java.security.SecureClassLoader.defineClass(SecureClassLoader.java:174)
at java.base/jdk.internal.loader.BuiltinClassLoader.defineClass(BuiltinClassLoader.java:800)
at java.base/jdk.internal.loader.BuiltinClassLoader.findClassOnClassPathOrNull(BuiltinClassLoader.java:698)
at java.base/jdk.internal.loader.BuiltinClassLoader.loadClassOrNull(BuiltinClassLoader.java:621)
at java.base/jdk.internal.loader.BuiltinClassLoader.loadClass(BuiltinClassLoader.java:579)
at java.base/jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(ClassLoaders.java:178)
at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:522)
at java.base/java.lang.Class.forName0(Native Method)
at java.base/java.lang.Class.forName(Class.java:315)
at psc_co_biopharm.test_job_0_1.Test_job.tDBInput_2Process(Test_job.java:727)
at psc_co_biopharm.test_job_0_1.Test_job.runJobInTOS(Test_job.java:1458)
at psc_co_biopharm.test_job_0_1.Test_job.main(Test_job.java:1240)
所以,我尝试了一项工作。使用tlibraryload组件导入jar“MSSQLJDBC-8.2.1jre11”。它起作用了,我能够查询Azure SQL数据库。
但是使用tlibraryload并不是最好的实践,请有人告诉我如何将这个版本的jar“MSSQLJDBC-8.2.1jre11”直接指向组件。
我尝试通过windows->show_view->Modules加载这个jre。但是它显示“这个模块已经安装了maven URI”。
请帮助我,并建议如何将此版本的jar“MSSQLJDBC-8.2.1jre11”直接指向组件。
发布于 2020-12-17 04:55:21
我贴出了这个问题的答案,所以这会对将来的人有所帮助。我所犯的错误是,首先我应该下载“MSSQLJDBC-8.2.1jre11”jar并将其指向组件,而不是下载“MSSQLJDBC-9.1jre”并指向组件。这是个可怕的错误。
确保您正在下载与jdk兼容的正确版本的jar。对我来说,jdk版本是11,所以我应该先下载“MSSQLJDBC-8.2.1jre11”jar。
由于我已经下载了不同版本的jar,并且首先指向组件,所以它不接受我现在所指的jar的正确版本“MSSQLJDBC-8.2.1jre11”。我们应该从下面的文件夹中删除旧的jar,我们应该尝试导入正确的jar版本。看起来不错。对我来说效果很好。
我们应该从系统中的以下文件夹中删除旧jar
Windows(c)->Talend_Studio->Configuration->.m2->repository->org->Talend->Libraries
在这个库文件夹下,对于我的情况,我应该找到文件夹MySQL目录并删除它。
然后,我尝试通过windows->show_view->Modules导入jar,它成功了。:-)
希望这对某人有用。
发布于 2020-12-17 11:23:02
确保,
希望这是有用的。好了!
https://stackoverflow.com/questions/65321134
复制相似问题