Java JDBC断管Mac

Java JDBC断管Mac,java,sql-server,azure,jdbc,azure-sql-database,Java,Sql Server,Azure,Jdbc,Azure Sql Database,这很奇怪,但每次我试图通过JDBC连接到SQLAzure时,我都会反复遇到这个问题 环境:Eclipse氧气,Mac Sierra 10.12.6,JDK 1.8.0141 我看到以下错误: Cannot create PoolableConnectionFactory (Broken pipe (Write failed) ClientConnectionId:ac4ed2ba-4563-4f3b-9bcc-441bff9e45e1) 我试图通过context.xml以最基本的方式创建连接,

这很奇怪,但每次我试图通过JDBC连接到SQLAzure时,我都会反复遇到这个问题

环境:Eclipse氧气,Mac Sierra 10.12.6,JDK 1.8.0141

我看到以下错误:

Cannot create PoolableConnectionFactory (Broken pipe (Write failed) ClientConnectionId:ac4ed2ba-4563-4f3b-9bcc-441bff9e45e1)
我试图通过context.xml以最基本的方式创建连接,如下所示:

 <Resource name="jdbc/sqlazure"
auth="Container"
driverClassName="com.microsoft.sqlserver.jdbc.SQLServerDriver"
type="javax.sql.DataSource"
maxIdle="30"
username="<user>
password="<password>
url="jdbc:sqlserver://<dbname>.database.windows.net:1433;database=<db>;encrypt=true;trustServerCertificate=false;hostNameInCertificate=*.database.windows.net;loginTimeout=30;"
removeAbandonedTimeout="30"
logAbandoned="true" /> 
并且它返回非null。但是,当我尝试建立连接时:

Connection con = ds.getConnection()
它挂在这里,然后由于管道断裂错误而超时。我还在Azure门户中列出了相应的IP地址

我的SQLPro客户端能够连接到数据库并查看其内容,因此用户名/密码和连接字符串不应该有任何问题

我已确认主机名设置正确。使用:

scutil --get HostName
我想尽一切办法都试过了,但还是不走运。我开始认为OSX上的Java运行时存在一些问题。有人有什么想法吗


编辑:我在Windows环境和JDK上使用了相同的文件,没有看到这个问题。所以我相信这是Mac专用的…

您可能需要安装自制软件和Maven才能使其正常工作。请按照提供的说明操作

希望这有帮助

问候,


Alberto Morillo

您可能需要安装自制软件和Maven才能使其正常工作。请按照提供的说明操作

希望这有帮助

问候,


阿尔贝托·莫里洛(Alberto Morillo)

您的问题与另一个SO线程非常相似。请尝试它的解决方案,它来自于同一个问题的帖子


希望有帮助。

您的问题与其他SO线程非常相似。请尝试它的解决方案,它来自于同一个问题的帖子

希望能有帮助

scutil --get HostName