0

我无法连接到本地 SQL Server 2012 实例,无论是 LocalDB 还是 SQLExpress。我在路径中有 Microsoft 的 sqljdbc4.jar 驱动程序。我正在使用 Mule 3.3.1 CE;我还没有可用的EE。

我尝试使用 LocalDB 没有成功。我发现一些帖子表明 LocalDB 可能与 MS 的驱动程序不兼容,并建议切换到 SQLExpress。但是,仍然没有运气。

我可以使用 SQLCMD(例如“sqlcmd -S DEFTA-1\SQLEXPRESS”)和 SSMS 使用我的流程中的凭据连接到我的 SQLExpress 实例。

我对数据源和连接器的配置如下:

<spring:beans>
    <spring:bean id="SQLServer_DataSource" name="Bean" class="org.enhydra.jdbc.standard.StandardDataSource">
        <spring:property name="driverName" value="com.microsoft.sqlserver.jdbc.SQLServerDriver"/>
        <spring:property name="url" value="jdbc:sqlserver://DEFTA-1\SQLEXPRESS:1433;user=test_user;password=test_pwd;"/>
    </spring:bean>
</spring:beans>

<jdbc:connector name="Database" dataSource-ref="SQLServer_DataSource" 
    validateConnections="true" queryTimeout="-1" pollingFrequency="0" doc:name="Database">
    <jdbc:query key="InsertRecord" value="insert into eai.dbdusage (id,name) values (1,'hello world')"/>
</jdbc:connector>

我尝试更改服务器规范,在服务器名称中使用双反斜杠,省略端口号,使用 \ 而不是反斜杠......它都不起作用。我还尝试了类似“jdbc:sqlserver://localhost:1433;instanceName=DEFTA-1\SQLEXPRESS...”和“jdbc:sqlserver://localhost:1433;instanceName=SQLEXPRESS...”

例外是:

无法获取 URL jdbc 的连接:sqlserver://DEFTA-1\SQLEXPRESS:1433;user=test_user;password=test_pwd; : 与主机 DEFTA-1 端口 1433 的 TCP/IP 连接失败。错误:“连接被拒绝:连接。验证连接属性。确保 SQL Server 实例正在主机上运行并在端口上接受 TCP/IP 连接。确保与端口的 TCP 连接未被防火墙阻止."。

我需要做些什么来启用 SQL Server 端的连接,或者我需要对我的配置进行一些更改吗?

4

4 回答 4

1

这篇文章真的帮助了我:http: //java.dzone.com/articles/six-possible-solutions-jdbc-%E2%80%93

更具体地说,第 3 点

3.如果您仍然遇到问题,请检查注册表 ◦转到开始菜单 => 运行 => regedit ◦转到 HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft SQL Server\MSSQL10.[Instance Name]\MSSQLServer\SuperSocketNetLib\Tcp\IPAll并检查关键 TcpDynamicPorts 的值。我们必须考虑该端口号而不是默认端口 1433

在您的连接中使用此处的值而不是 1433。对我来说是 26625

于 2013-12-27T18:43:03.857 回答
0

您是否在 SQL Server 上启用了 TCP/IP 访问? http://msdn.microsoft.com/en-us/library/hh231672.aspx

于 2013-06-11T22:14:37.270 回答
0

我进入 netstat 并注意到 sqlserver.exe 正在侦听端口 63304。更改为数据源字符串中的该端口号允许我连接。

我对此感到困惑,因为我认为 SQL Server 默认情况下总是在端口 1433 上(全新安装),但这有效。

于 2013-06-12T02:29:16.883 回答
0

我遇到了同样的问题,删除了端口,现在我可以建立连接了

尝试这个:

jdbc:sqlserver://${mssql.server};databaseName=${mssql.database};user=${mssql.user};password=${mssql.password}
于 2017-08-24T15:44:03.800 回答