cod*_*000 4 java windows sql-server jdbc windows-authentication
在我提出问题之前,让我先介绍一下背景.我在一家主要经营Windows的商店.我们在Windows服务器上运行了几个批处理应用程序(主要是2003).大多数批处理应用程序都是用C#和C++编写的; 但是我们有一些用Java编写的应用程序.
批处理Java应用程序使用JDBC连接到SQL Server 2005数据库.请注意我们没有使用应用程序服务器.
目前,我们在Windows注册表中存储数据库连接信息(数据库,用户名和密码).
不幸的是,这些真正不友好的审核员(对幽默的不良尝试)对于我们对在Windows注册表中存储数据库连接信息的决定感到不满意.我们现在正在使用Windows Authentatication更新我们的批处理应用程序以连接到SQL Server.
对C#和C++应用程序使用Windows Authentatication不是问题; 但是我坚持要求Java应用程序.
任何人都可以建议是否可以使用Windows Authentatication从Windows服务器上运行的Java批处理应用程序连接到SQL Server 2005数据库?我们再次使用的是应用服务器.
如果可能,您推荐的方法是什么?
我有一个简单的加密密码的策略,这将使审核员满意,但我更愿意让我的所有批处理应用程序通过Windows Authentatication连接到SQL Server.
您可以使用Windows身份验证从Java程序连接到SQL Server,如下所示:
按如下方式配置JDBC URL:
jdbc:sqlserver://<hostname>;databaseName=<DBName>;integratedSecurity=true
Run Code Online (Sandbox Code Playgroud)从命令行配置运行Java程序的启动程序以包含以下JVM参数:
-Djava.library.path="<jdbc driver dll location>"
Run Code Online (Sandbox Code Playgroud)
其中location是安装或提取先前下载的JDBC驱动程序的目录.这是C:\Program Files\sqljdbc_4.0.2206.100_enu\sqljdbc_4.0\enu\auth\x64我的情况.正如Luke Woodward在评论中提到的,应该根据用于运行这些程序的JVM来选择dll.
使用上述配置,建立到SQL Server的连接将使用运行java程序/进程的域用户的Windows身份验证凭据.
| 归档时间: |
|
| 查看次数: |
1369 次 |
| 最近记录: |