0

我的 Java 应用程序中有一个JNDI使用 SQL Server 用户名和密码的工作。NameNotFoundException当我尝试将用户更改为我的域用户而不是 SQL 用户时,它会抛出。

这里提到我只需要提供integratedSecurity真实的。我错过了我的 JNDI 中的任何内容吗?

JNDI 与 SQL Server 用户:

<Resource
name="jdbc/MyJNDI"
auth="Container"
type="javax.sql.DataSource"
maxTotal="100"
maxIdle="30"
maxWaitMillis="1000"
validationQuery="select 1"
testOnBorrow="true"
testOnConnect="true"
testOnReturn="true"
testWhileIdle="true"
factory="org.apache.tomcat.jdbc.pool.DataSourceFactory"
driverClassName="com.microsoft.sqlserver.jdbc.SQLServerDriver"
url="jdbc:sqlserver://localhost:1433;database=survey;user=myuser;password=mypassword;"
/>

我与域用户的 JNDI:

<Resource
name="jdbc/MyJNDI"
auth="Container"
type="javax.sql.DataSource"
maxTotal="100"
maxIdle="30"
maxWaitMillis="1000"
validationQuery="select 1"
testOnBorrow="true"
testOnConnect="true"
testOnReturn="true"
testWhileIdle="true"
factory="org.apache.tomcat.jdbc.pool.DataSourceFactory"
driverClassName="com.microsoft.sqlserver.jdbc.SQLServerDriver"
url="jdbc:sqlserver://localhost:1433;database=survey;integratedSecurity=true;"
/>
4

1 回答 1

0

另一个司机是必要的。请参阅此来源http://www.bigdata-unleashed.com/20150930/database-ntlm-authentifizierung

<Resource
name="jdbc/MyJNDI"
auth="Container"
type="javax.sql.DataSource"
maxTotal="100"
maxIdle="30"
maxWaitMillis="1000"
integratedSecurity="true"
validationQuery="select 1"
testOnBorrow="true"
testOnConnect="true"
testOnReturn="true"
testWhileIdle="true"
factory="org.apache.tomcat.jdbc.pool.DataSourceFactory"
driverClassName="net.sourceforge.jtds.jdbc.Driver"
url="jdbc:jtds:sqlserver://localhost:1433;database=survey;"
/>

数据库驱动程序可在http://sourceforge.net/projects/jtds/files/jtds/

于 2018-08-14T11:48:35.393 回答