java - 如何在网络计算机上连接SQL Server 2017(即监听本地端口)

标签 java sql-server jdbc

我想连接到在我们工作的一台网络计算机上本地运行的数据库。我可以使用我开发的使用 Java 的 sql 驱动程序管理器的应用程序很好地连接到它。现在我想将其分发到网络上的不同计算机。为此,我需要一个通过网络指向数据库的 URL。数据库正在监听端口 1434。(静态 URL 字符串为“//localhost:1434”) MatsysUI.setConnection(DriverManager.getConnection("jdbc:sqlserver:"+ MatsysIO.getStaticURL(), txtUser.getText(), txtPassword.getText()));

问题是,我不知道从哪里开始找到它,并且我想避免使用互联网连接来连接到该数据库。有没有办法将连接路由到网络计算机,然后路由到其本地端口?

最佳答案

对此有几种可能的答案。

我只是想重申一下您的情况以确保我理解:

  • 您有一个用 Java 编写的应用程序,需要访问 SQL Server 数据库。
  • 您想要将该应用程序的多个副本分发到不同的客户端计算机。
  • 客户端计算机和数据库服务器都位于本地网络上。
  • SQL Server 正在监听端口 1434
  • 您需要在客户端计算机上构造 JDBC 连接字符串才能访问 SQL Server。

您将当前连接字符串指定为//localhost:1434;在该方案中,localhost 是主机名。您可以将其替换为 fully qualified domain name SQL Server 机器的(这几乎肯定是最简单的选项)。使用 FQDN 允许您更换机器或对其进行负载平衡等,而无需担心连接 - 但如果机器名称发生更改,所有连接都会中断!

您还可以通过 IP 地址进行连接 - 这允许您更改计算机名称,但显然意味着 IP 地址永远不会更改。在大多数情况下,这是一件坏事。

您的最终选择是look for alL SQL Servers on your network ,并在您的用户的下拉列表中显示它们(您的代码表明您正在使用用户名和密码输入)。这意味着如果您想更改服务器详细信息,则不必分发新的属性文件。

关于java - 如何在网络计算机上连接SQL Server 2017(即监听本地端口),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51747497/

相关文章:

java - Eclipse 中运行时目标的标准 ServletContainer

sql - 如何在 SQL Server 2008 中将 varchar(4) 转换为 float?

java - 从 Linux 上 NetBeans 中的 Java 应用程序连接到 MariaDB (Mageia)

java - 文本字段不保持焦点(AncestorListener)

java - 为什么我的自定义登录页面不显示 Spring Security 4?

java - twitter4j 中的 getFollowersList 不检索关注者

c# - 在 C# 中将数据从 datagridview 中的值插入到 SQL Server 数据库中

SQL Server 不会将触发器事务回滚到保存点

jpa - 无法在事务 : enlistResource returns 'false' 中登记连接

java - Derby INSERT SELECT 空指针异常