• 技术文章 >数据库 >MongoDB

    kettle无法连接mongodb怎么办

    爱喝马黛茶的安东尼爱喝马黛茶的安东尼2020-01-02 16:12:58原创3011

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

    报错:

    1

    2

    3

    4

    5

    6

    7

    8

    9

    10

    11

    12

    13

    14

    15

    16

    17

    18

    19

    20

    21

    22

    23

    24

    25

    26

    27

    28

    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就可以正常连接读取数据了。

    python学习网,大量的免费MongoDB入门教程,欢迎在线学习!

    专题推荐:kettle 无法连接 mongodb
    上一篇:电脑无法启动mongodb出现1053错误怎么解决 下一篇:如何重启mongodb

    相关文章推荐

    • kettle postgresql 乱码怎么解决

    全部评论我要评论

    © 2021 Python学习网 苏ICP备2021003149号-1

  • 取消发布评论
  • 

    Python学习网