【发布时间】:2014-04-22 22:29:18
【问题描述】:
所以我正在开发一个使用 SQL Server 2008 数据库的项目。它使用 Java 和 Hibernate。上周我正在做一些工作,它工作(相对)很好。我今天回到它,突然间 Hibernate 无法登录或连接到数据库。我怀疑问题出在 SQL Server 中,因为我尝试使用 JDBC 连接它,但也没有用。
服务器身份验证设置为“SQL Server 和 Windows 身份验证模式”
我的用户“dummy”和“root”对所有显式权限都有“Grant”检查。
我输入的用户名和密码是正确的。我知道这一点,因为我可以使用这些登录名登录 SQL Server Management Studio 并运行查询。
数据库位于 Windows XP 虚拟机上,我在主机上使用 Eclipse。我有端口转发和 Oracle VirtualBox 设置的一切(就像我说的,上周运行良好)。
有什么建议吗?
--编辑--
见原帖下方的cmets
---编辑---
我有了一个发现。我的 Java 项目甚至没有连接到 SQL Server。当我使用 .udl 测试登录失败时,会为失败的登录创建一条日志消息。但是,每当我无法在主机上使用我的 Java 项目登录时,就会创建日志。
我还应该指出,我可以连接到在同一 VM 上运行的 MySQL 数据库并在其上运行查询。
这个 URL 字符串有问题吗? "jdbc:sqlserver://192.168.56.1:1433;databaseName=MLB;user=dummy;password=123"
我可以确认 IP 地址、端口号、数据库名称、用户名和密码都正确。
【问题讨论】:
-
出现连接错误时我总是做的第一件事是在我的系统上创建一个包含应用程序的 .udl 文件。只需创建一个新的 txt 文件并将其扩展名更改为 .udl。当它打开时,将您提供应用程序的所有 sql 凭据放入 .udl 并单击测试连接。
-
我从未使用过 .udl。我用什么作为“服务器名称”?
-
一个 IP 地址,如果不是本地的,则为主机名。如果是本地的,只需在登录时将任何 sql management studio 作为其服务器名称。通常是(本地)
-
好吧,我一直在使用映射到我的 Windowx XP VM 的 IP 地址:192.168.56.1。我试过了,它无法在服务器上加载任何数据库,因为登录总是失败。
-
那么我相信错误可能在于SQL本身的用户设置。在 VM 中使用 .udl 是否可以正常工作?
标签: java sql sql-server hibernate database-security