我想连接到在我们工作的一台网络计算机上本地运行的数据库。我可以使用我开发的使用 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/