我已经安装了 MS SQL Server 2008,并且想在带有 Struts 的 Java 项目中使用它。 不幸的是我无法在 Java 中配置它。我正在为 MsSql 使用 Windows 身份验证。这可能吗?
我的 beans.xml 文件如下所示:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN//EN"
"http://www.springframework.org/dtd/spring-beans.dtd">
<beans>
<bean id="dataSource" class="org.springframework.jdbc.datasource.DriverManagerDataSource">
<property name="driverClassName" value="com.microsoft.sqlserver.jdbc.SQLServerDriver" />
<!-- S2-Install-Start: INSERT DB SERVER HERE -->
<property name="url" value="jdbc:sqlserver://localhost:1433;DatabaseName=MyDatabase" />
S2-Install-End:
<property name="username" value="Stefana\Steffi" />
S2-Install-Start: INSERT DB PASSWORD HERE
<property name="password" value="" />
S2-Install-End:
</bean>
我不知道我应该在用户名和密码字段中写什么?当我连接到 Ms Sql Server 时,我得到以下信息:
Servertype: DatabaseEngine
Servername: Stefana\SQLEXPRESS
Authentication: Windows Authentication
Username:Stefana\Steffi
Password:
最佳答案
如果您使用 jTDS JDBC Driver,则可以使用 Windows 身份验证对于 SQL Server。 jTDS 驱动程序是免费、开源的,并且通常比 Microsoft 官方驱动程序更强大。
如果您的项目中包含 jTDS jar,我相信此数据源 URL 应该有效:
jdbc:jtds://localhost:1433/MyDatabase;domain=Stefana
由于您在 Windows 上运行,jTDS 驱动程序能够使用 native 库使用当前凭据自动登录。不过,通常最好明确指定用户名和密码,因为这样您的网络应用程序就不会根据启动者的不同而表现不同。
另请注意,SQL Server 2008 默认情况下可能不会启用 TCP 连接。除非您将其打开,否则您将无法连接 Microsoft 驱动程序或 jTDS 驱动程序。
启用 TCP 连接:
- 打开Sql Server 配置管理器(它应该位于您的“开始”菜单上)
- 在左侧的树中,导航到SQL Server 网络配置,然后导航到MSSQLSERVER 协议(protocol)
- 您应该在协议(protocol)列表中看到TCP/IP。
- 如果其状态为已禁用,则双击它,然后将已启用选项更改为是,然后单击确定
- 您现在需要重新启动 SQL Server。导航到SQL Server Services项
- 右键单击服务列表中的SQL Server (MSSQLSERVER)
- 选择重新启动
- 您现在应该能够从 Java Web 应用连接到 SQL Server
关于java - beans.xml 中的 ms sql 配置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11206673/