解决kettle无法连接mongodb的方法-创新互联

创新互联www.cdcxhl.cn八线动态BGP香港云服务器提供商,新人活动买多久送多久,划算不套路!

专注于为中小企业提供成都做网站、网站制作服务,电脑端+手机端+微信端的三站合一,更高效的管理,为中小企业石鼓免费做网站提供优质的服务。我们立足成都,凝聚了一批互联网行业人才,有力地推动了超过千家企业的稳健成长,帮助中小企业通过网站建设实现规模扩充和转变。

小编给大家分享一下解决kettle无法连接mongodb的方法,相信大部分人都还不怎么了解,因此分享这边文章给大家学习,希望大家阅读完这篇文章后大所收获,下面让我们一起去学习方法吧!

配置好mongodb连接之后,点击预览报下面的错:

报错:

java.lang.NoClassDefFoundError: javax/crypto/spec/PBEKeySpec
        at com.mongodb.DBPort$ScramSha1Authenticator$ScramSha1SaslClient.Hi(DBPort.java:822)
        at com.mongodb.DBPort$ScramSha1Authenticator$ScramSha1SaslClient.computeClientFinalMessage(DBPort.
        java:747)
        at com.mongodb.DBPort$ScramSha1Authenticator$ScramSha1SaslClient.evaluateChallenge(DBPort.java:681)
        at com.mongodb.DBPort$SaslAuthenticator.authenticate(DBPort.java:904)
        at com.mongodb.DBPort.authenticate(DBPort.java:432)
        at com.mongodb.DBPort.checkAuth(DBPort.java:443)
        at com.mongodb.DBTCPConnector.innerCall(DBTCPConnector.java:289)
        at com.mongodb.DBTCPConnector.call(DBTCPConnector.java:269)
        at com.mongodb.DBCollectionImpl.find(DBCollectionImpl.java:84)
        at com.mongodb.DBCollectionImpl.find(DBCollectionImpl.java:66)
        at com.mongodb.DBCursor._check(DBCursor.java:498)
        at com.mongodb.DBCursor._hasNext(DBCursor.java:621)
        at com.mongodb.DBCursor.hasNext(DBCursor.java:657)
        at org.pentaho.mongo.wrapper.cursor.DefaultCursorWrapper.hasNext(DefaultCursorWrapper.java:34)
        at org.pentaho.di.trans.steps.mongodbinput.MongoDbInput.processRow(MongoDbInput.java:89)
        at org.pentaho.di.trans.step.RunThread.run(RunThread.java:62)
        at java.lang.Thread.run(Thread.java:745)
Caused by:  java.lang.ClassNotFoundException: javax.crypto.spec.PBEKeySpec not found by org.mongodb.mongo-
java-driver
[59]
        at org.apache.felix.framework.BundleWiringImpl.findClassOrResourceByDelegation(BundleWiringImpl.
        java:1532)
        at org.apache.felix.framework.BundleWiringImpl.access$400(BundleWiringImpl.java:75)
        at org.apache.felix.framework.BundleWiringImpl$BundleClassLoader.loadClass(BundleWiringImpl.java:1955)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:358)
        ... 17 more

解决办法:

kettle安装文件目录:data-integration\system\karaf\etc\config.properties

文件中下部有一行 org.osgi.framework.bootdelegation=(一堆参数)

在末尾处加上  ,javax.crypto,javax.crypto.*

Mongo就可以正常连接读取数据了。

以上是解决kettle无法连接mongodb的方法的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注创新互联-成都网站建设公司行业资讯频道!


网页题目:解决kettle无法连接mongodb的方法-创新互联
文章来源:http://hbruida.cn/article/dipgog.html