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

Pentaho Kettle:无法连接到MS SQL Server Express

司寇苗宣
2023-03-14

我有Microsoft SQL Server 2014 Express在我的本地计算机Windows 7 PC上运行。

我使用Python,使用SQL alchemy可以毫无问题地连接到服务器(从同一台PC)。我还可以使用Excel和PowerPivot加载项进行连接。

然而,我无法连接Pentaho-Ketter。

  • 我已经从微软下载了JDBC驱动程序:https://www.microsoft.com/en-gb/download/details.aspx?id=11774
  • 我将文件jre8\sqljdbc42.jar并将其移动到Pentaho Data Integr安装的lib子文件夹中。我将文件放在jre8中,而不是jre7中,因为我的Java是JRE1.8。0_144
    • 然后我在auth\x86\sqljdbc_auth.dll中获取文件并将其复制到同一个lib文件夹中。我拿走了x86文件,而不是x64,因为Java在c:\Program Files(x86)\Java\jre1.8中。0_144\
    • 我添加表输入并设置连接类型=MSSQLServer(本机)和Access=Native(JDBC)

    我收到的错误消息是:

    Error connecting to database [mydatabase] :org.pentaho.di.core.exception.KettleDatabaseException:  Error occurred while trying to connect to the database
    
    Error connecting to database: (using class com.microsoft.sqlserver.jdbc.SQLServerDriver) The TCP/IP connection to the host localhost, port 1433 has failed. Error: "Connection refused: connect. Verify the connection properties. Make sure that an instance of SQL Server is running on the host and accepting TCP/IP connections at the port. Make sure that TCP connections to the port are not blocked by a firewall.".
    
    
    org.pentaho.di.core.exception.KettleDatabaseException:  Error occurred while trying to connect to the database
    
    Error connecting to database: (using class com.microsoft.sqlserver.jdbc.SQLServerDriver) The TCP/IP connection to the host localhost, port 1433 has failed. Error: "Connection refused: connect. Verify the connection properties. Make sure that an instance of SQL Server is running on the host and accepting TCP/IP connections at the port. Make sure that TCP connections to the port are not blocked by a firewall.".
    

    我已经尝试了各种组合,包括指定端口号1433并将其留空,使用集成安全性和手动输入密码,将主机名设置为localhost和DESKTOP-MYNAME\SQLEXPRESS,但无济于事。

    我读过很多关于它的讨论,但没有一个似乎相关;SQL Server确实接受传入连接,例如来自Python和SQL Alchemy的连接。

共有2个答案

曹浩波
2023-03-14

SQL Server 网络配置 --

在协议选项卡中,我有:enabled:yes和Listen All:yes

在底部IPAll下的“IP地址”选项卡中,“TCP动态端口”设置为49178。

所以我将Pentaho的“表输入”设置中的端口设置为49717。

这对我也很有效..

郏扬
2023-03-14

我运行了SQLServer 2014配置管理器,并检查了:

SQL Server 网络配置 --

在协议选项卡中,我有:enabled:yes和Listen All:yes

在“IP 地址”选项卡的底部 IPAll 下,“TCP 动态端口”设置为 49178。(不知道为什么)。

因此,我将Pentaho的表输入设置中的端口设置为49178。它设法找到了服务器,但集成安全性出现错误。因此,我将sqljdbc_auth.dll复制到C:\Program Files(x86)\Java\jre1.8的bin和lib子文件夹中。0_144......现在它工作了!

如果我没有指定端口,Pentaho会尝试端口1433,但它不工作。

作为参考,我在Python和SQL Alchemy中使用的连接字符串没有明确指定端口。

params = '?driver=SQL+Server+Native+Client+11.0'
engine = create_engine('mssql+pyodbc://' + ServerName + '/'+ Database + params, encoding ='latin1' )
conn=engine.connect()
 类似资料:
  • 问题内容: 我正在尝试使用Ruby on Rails运行Selenium的示例脚本。我必须使用代理运行它。这是我的代码: 我收到以下错误: 有人能帮我吗…?我已经尝试了好几个小时,却找不到问题…真的不知道该怎么办。 环境: Ubuntu 16.04 LTS,Firefox 45.0,rbenv 2.3.1 另一个问题:有人知道Selenium + Ruby on Rails的示例吗?我找不到真正好

  • 我正在尝试连接到MySQL服务器,但出现无法处理的错误。 java.sql.SQLNonTransientConnectionException:无法创建到数据库服务器的连接。尝试重新连接3次。放弃。com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:110)com.mysql.cj.jdbc.excepti

  • 我真的想不通为什么我不能用下面的代码连接到我的Django项目内的JQuery。你能告诉我是什么原因吗?多谢! null null

  • 我正在尝试使用Android studio提供的工具将我的Android应用程序连接到firebase,但我面临着很多麻烦。 我已经尝试更新依赖到最新的最新的谷歌服务,但错误仍然存在,显示的错误是无法解析Android应用模块的Gradle配置。解决分级生成问题和/或重新同步。 分级/应用程序a

  • 我正在开发Selenium,目前我有一个连接到两个运行linux和所有浏览器的虚拟机的集线器。 我能够启动浏览器,直到它突然停止。火狐或任何其他浏览器都不会启动。我得到以下错误。 45000 ms后无法连接到端口7055上的主机127.0.0.1。 我运行Selenium服务器独立2.26与火狐16.0.2. 请帮忙。

  • Q-我安装了git以获取最新版本的Angular。当我尝试运行时 我连接到github 443错误失败 我甚至试过 这使我无法连接,没有错误消息。 我在公司防火墙后面。转到控制面板时,我看不到我的代理详细信息- 我终于做到了。我将更新我所采取的程序,以便只是想编译我所做的所有步骤,以使它正常工作

  • 我试图使用将一些更改推送到github,但一段时间后它显示错误 我刚刚创建了回购协议,已经promise了两次。我通过Mac OS X Yosemite 10.10.2中的家庭WiFi和操作系统连接到互联网。

  • 输入JDBC的用户名:hive2://localhost:10001/default:输入JDBC的密码:hive2:/localhost:10001/default:17/08/19 09:25:14[main]:警告JDBC.hiveConnection:无法连接到localhost:10001无法打开到HS2服务器的连接。请检查服务器URI,如果URI正确,请让管理员检查服务器状态。错误:无