talend 与 sql server 2008 R2 的连接问题

Posted

技术标签:

【中文标题】talend 与 sql server 2008 R2 的连接问题【英文标题】:talend connection with sql server 2008 R2 issues 【发布时间】:2017-02-04 07:49:30 【问题描述】:

我一直在尝试与SQL Server 2008 建立联系,但我无法连接,并且出现以下错误。它说:我必须检查TCP 端口是否被防火墙阻止......好吧,不,不是! 我该怎么办???

Echec de la connexion Vous devez modifier les paramètres de la base de données.
  java.lang.RuntimeException: com.microsoft.sqlserver.jdbc.SQLServerException: Échec de la connexion TCP/IP à l'hôte (local), port 1433. Erreur : « null. Vérifiez les propriétés de connexion. Assurez-vous qu'une instance de SQL Server est en cours d'exécution sur l'hôte et accepte les connexions TCP/IP au port. Vérifiez que les connexions TCP au port ne sont pas bloquées par un pare-feu. ».
      at org.talend.core.model.metadata.builder.database.JDBCDriverLoader.getConnection(JDBCDriverLoader.java:195)
      at org.talend.core.model.metadata.builder.database.ExtractMetaDataUtils.connect(ExtractMetaDataUtils.java:1092)
      at org.talend.core.model.metadata.builder.database.ExtractMetaDataFromDataBase.testConnection(ExtractMetaDataFromDataBase.java:315)
      at org.talend.metadata.managment.repository.ManagerConnection.check(ManagerConnection.java:289)
      at org.talend.repository.ui.wizards.metadata.connection.database.DatabaseForm$62.runWithCancel(DatabaseForm.java:3953)
      at org.talend.repository.ui.wizards.metadata.connection.database.DatabaseForm$62.runWithCancel(DatabaseForm.java:1)
      at org.talend.repository.ui.dialog.AProgressMonitorDialogWithCancel$1.runnableWithCancel(AProgressMonitorDialogWithCancel.java:77)
      at org.talend.repository.ui.dialog.AProgressMonitorDialogWithCancel$ARunnableWithProgressCancel$1.call(AProgressMonitorDialogWithCancel.java:161)
      at java.util.concurrent.FutureTask.run(Unknown Source)
      at java.lang.Thread.run(Unknown Source)
  Caused by: com.microsoft.sqlserver.jdbc.SQLServerException: Échec de la connexion TCP/IP à l'hôte (local), port 1433. Erreur : « null. Vérifiez les propriétés de connexion. Assurez-vous qu'une instance de SQL Server est en cours d'exécution sur l'hôte et accepte les connexions TCP/IP au port. Vérifiez que les connexions TCP au port ne sont pas bloquées par un pare-feu. ».
      at com.microsoft.sqlserver.jdbc.SQLServerException.makeFromDriverError(SQLServerException.java:190)
      at com.microsoft.sqlserver.jdbc.SQLServerException.ConvertConnectExceptionToSQLServerException(SQLServerException.java:241)
      at com.microsoft.sqlserver.jdbc.SocketFinder.findSocket(IOBuffer.java:2243)
      at com.microsoft.sqlserver.jdbc.TDSChannel.open(IOBuffer.java:491)
      at com.microsoft.sqlserver.jdbc.SQLServerConnection.connectHelper(SQLServerConnection.java:1309)
      at com.microsoft.sqlserver.jdbc.SQLServerConnection.login(SQLServerConnection.java:991)
      at com.microsoft.sqlserver.jdbc.SQLServerConnection.connect(SQLServerConnection.java:827)
      at com.microsoft.sqlserver.jdbc.SQLServerDriver.connect(SQLServerDriver.java:1012)
      at org.talend.core.model.metadata.builder.database.DriverShim.connect(DriverShim.java:41)
      at org.talend.core.model.metadata.builder.database.JDBCDriverLoader.getConnection(JDBCDriverLoader.java:186)
      ... 9 more

【问题讨论】:

你怎么知道不是?最好确认的是telnet 你说得对,兄弟,我确实使用了这个 cmd netstat -aon,它给了我几个端口.. 我用过其中一个,并且成功了。谢谢:) 今天它不工作兄弟,我确实检查了我的 sql 服务器是否连接到特定端口 808 并且它工作正常。但总是 talend 无法获得连接 :( 【参考方案1】:

问题已解决, Talend 和 SQL Server 在同一台机器上,所以... 我是怎么做到的:在 Sql 服务器上 1 - 服务器类型:数据库引擎 2- 服务器名称:127.0.0.1 3- 身份验证:Sql Server 身份验证 4-登录:sa 5-密码:*****(您想要的任何密码) 然后我去了 Talend: 我确实放了相同的规范(特别是通行证和登录名)

【讨论】:

【参考方案2】:

即使防火墙允许端口通信但 SQL 服务器本身未启用 TCP/IP 协议,连接也可能无法正常工作。 是否能够使用其他使用 TCP/IP 协议的客户端工具连接到 SQL Server?使用 SQL 服务器配置管理器“启用”TCP/IP 访问。

【讨论】:

id 是这样做的,TCP/ip 协议是允许的,而且我确实停用了我的防病毒软件和防火墙....没有连接!!!

以上是关于talend 与 sql server 2008 R2 的连接问题的主要内容,如果未能解决你的问题,请参考以下文章

微软的SQL Server 2005与SQL Server 2008有啥区别?学习选哪个好?

sql server 2012的备份怎么还原到sql server 2008

sql server 2008 在与 SQL Server 提示建立连接时出现与网络相关的或特定于实例的错误

无法将 pyODBC 与 SQL Server 2008 Express R2 连接

SQL Server 2008 空字符串与空格

SQL server 2008数据库的备份与还原(转)