当前位置: 首页 > 知识库问答 >
问题:

Pentaho DI连接驱动程序问题

季城
2023-03-14

我在向Pentaho数据集成添加MSSQL SERVER连接时遇到问题。

我尝试了以下方法:

  • 我已经下载了最新的jdbc驱动程序(sqljdbc42)并将它们移动到lib文件
  • 我在SQL SERVER中创建了一个新用户,并授予了它所有权限...没有帮助。
  • 非常确定用户名/密码和登录设置
  • 多次重新安装Pentaho,重新安装JDBC驱动程序

我有一台Mac,但在平行上使用Windows,我在这个环境中工作。

这是我遇到的错误:

连接到数据库[Velo]时出错:org.pentho.di.core.exception。KettleDatabaseException:尝试连接到数据库时出错

连接到数据库时出错:(使用com.microsoft.sqlserver.jjdbc.SQLServerDriver类)用户“DBklartje”登录失败。客户端连接ID:33c3d571-4128-4c2d-b5a6-1290e06438e8

org . pentaho . di . core . exception . kettledatabaseexception:尝试连接数据库时出错

连接到数据库时出错:(使用com.microsoft.sqlserver.jjdbc.SQLServerDriver类)用户“DBklartje”登录失败。客户端连接ID:33c3d571-4128-4c2d-b5a6-1290e06438e8

在org . pentaho . di . core . database . database . normal connect(database . Java:472)在org . pentaho . di . core . database . connect(database . Java:370)在org . pentaho . di . core . database . connect(database . Java:341)在org . pentaho . di . core . database . database . connect(database . Java:331)在org . pentaho . di . core . database . database . database factory . getconnectiontestreport(database factory . Java:80)在 在org . pentaho . ui . XUL . impl . abstractxuldocontainer . invoke(abstractxuldocontainer . Java:313)在org . pentaho . ui . XUL . impl . abstractxulcomponent . Java:157)在org . pentaho . ui . XUL . impl . abstractxulcomponent . invoke(abstractxulcomponent . Java:141)在org . pentaho . ui . XUL . swt . tags . swt button . access 客户端连接id:33c 3d 571-4128-4c2d-b5 a6-1290 e 06438 e 8

at org.pentaho.di.core.database.Database.connectUsingClass(Database.java:585) at org.pentaho.di.core.database.Database.normalConnect(Database.java:456) ...62 更多 原因: com.microsoft.sqlserver.jdbc.SQLServerException: 用户 'DBklaartje' 登录失败。ClientConnectionId:33c3d571-4128-4c2d-b5a6-1290e06438e8 at com.microsoft.sqlserver.jdbc.SQLServerException.makeFromDatabaseError(SQLServerException.java:217) at com.microsoft.sqlserver.jdbc.TDSTokenHandler.onEOF(tdsparser.java:279) at com.microsoft.sqlserver.jdbc.TDSParser.parse(tdsparser.java:99) at com.microsoft.sqlserver.jdbc.SQLServerConnection.sendLogon(SQLServerConnection.java:4346) at com.microsoft.sqlserver.jdbc.SQLServerConnection.logon(SQLServerConnection.java:3160) at com.microsoft.sqlserver.jdbc.SQLServerConnection.access$100(SQLServerConnection.java:43) at com.microsoft.sqlserver.jdbc.SQLServerConnection$LogonCommand.doExecute(SQLServerConnection.java:3123) at com.microsoft.sqlserver.jdbc.TDSCommand.execute(IOBuffer.java:7505) at com.microsoft.sqlserver.jdbc.SQLServerConnection.executeCommand(SQLServerConnection.java:2445) atcom.microsoft.sqlserver.jdbc.SQLServerConnection.connectHelper(SQLServerConnection.java:1981) at com.microsoft.sqlserver.jdbc.SQLServerConnection.login(SQLServerConnection.java:1628) at com.microsoft.sqlserver.jdbc.SQLServerConnection.connectInternal(SQLServerConnection.java:1459) at com.microsoft.sqlserver.jdbc.SQLServerConnection.connect(SQLServerConnection.java:773) at com.microsoft.sqlserver.jdbc.SQLServerDriver.connect(SQLServerDriver.java:1168) atjava.sql.DriverManager.getConnection(Unknown Source) at java.sql.DriverManager.getConnection(Unknown Source) at org.pentaho.di.core.database.Database.connectUsingClass(Database.java:561) ...还有 63 个

主机名:DESKTOP-LM88EPQ端口:1433数据库名:Velo

共有2个答案

南门正业
2023-03-14

在数据库连接定义中,在测试和探索按钮之间,您有一个功能列表,它为您提供PDI用于该连接的所有参数。

检查第20行的驱动程序类(有时您的类路径中有不止一个)。

然后将 url 放在第 21 行,在您的 SQL-Developer 或等效项中。

你也可以编写自己的java类;将驱动程序、URL、用户名、密码替换为您正在使用的 walue;编译它;运行它;它告诉你出了什么问题。

import java.sql.DriverManager;
public class TestConnection {
    public static void main(String[] args) throws Exception{
        Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");
        DriverManager.getConnection("url", "username", "password");
        System.out.println("Ok");
    }    
}
许学真
2023-03-14

显然,此问题是由驱动程序的身份验证问题引起的。如果下载驱动程序(sqljdbc),还可以复制文件“sqljbdc_auth”。dll”到%PENTAHO_HOME%\design tools\data integration\libswt\win64

这将确保您的用户和登录获得适当的授权。

 类似资料:
  • 这是我在运行上述程序时遇到的错误。有人解决了这个问题吗? 我尝试过改变Selenium和ChromeDriver的版本,但没有任何效果。

  • 问题内容: 我目前正在为大学的一个班级做项目。我正在学习有关连接和操作数据库的信息,我们正在使用Microsoft .accdb文件。 这是我到目前为止所拥有的。 当寻找“ sun.jdbc.odbc.JdbcOdbcDriver”时,我得到以下输出。 似乎很容易解决。看来我想念司机或类似的东西。但是,我很难找到解决方法。JDK随附驱动程序吗?我需要单独下载吗?是否取决于我的操作系统?(Mac O

  • 我的java代码使用com.mongodb.DB的单个实例连接到mongo DB。现在我使用这个db实例跨越500个线程,这些线程对我的db执行命令。所有这些都并行运行。以下是conf参数: 现在,如果我使用“db.serverStatus().connections”检查我的数据库,我会得到以下结果:“current”:52,“available”:19999,“totalCreated”:Nu

  • 我试图理解Datastax Cassandra驱动程序中的连池,因此我可以更好地在我的Web服务中使用它。 我有留档的1.0版。它说: Java驱动程序异步使用连接,因此可以在同一个连接上同时提交多个请求。 他们通过连接理解什么?当连接到集群时,我们有:一个生成器、一个集群和一个会话。他们中的哪一个是连接? 例如,有一个参数: MaxSimultaneousRecestsPerConnection

  • 连接名称:orcl用户名:scott密码:tiger连接详细信息:scott@ 我正在使用Oracle g11版本2,我已经在我的构建路径中包含了ojdbc.jar。当试图建立连接时,我得到以下堆栈跟踪错误: JAVAsql。SQLException:Io exception:连接字符串格式无效,有效格式为oracle的“主机:端口:sid”。jdbc。数据库访问。DBError。oracle上的

  • 我正在尝试通过JMeter连接到PL/SQL 8.0.4.1514。 在JDBC连接配置中,我提供了数据库URL为“JDBC:oracle:thin:@//01HW552780:6129”)/tnsfile”和JDBC驱动程序类为“com.plsql.JDBC.driver” 但获取错误为“找不到适合jdbc的驱动程序:oracle:thin:@//01HW552780:6129”)/tnsfil