Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sql-server/26.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql server 用户名的Hibernate SQLServerException_Sql Server_Hibernate - Fatal编程技术网

Sql server 用户名的Hibernate SQLServerException

Sql server 用户名的Hibernate SQLServerException,sql-server,hibernate,Sql Server,Hibernate,我正在尝试运行一个使用Hibernate和MS SQL Server Express的java应用程序 SQL Server配置了windows身份验证作为登录方法。我还启用了TCP/IP端口1433(默认设置),但仍然会出现以下错误 ...// more output at test.models.TestHibernate.main(TestHibernate.java:11) Caused by: com.microsoft.sqlserver.jdbc.SQLServerExceptio

我正在尝试运行一个使用Hibernate和MS SQL Server Express的java应用程序

SQL Server配置了windows身份验证作为登录方法。我还启用了TCP/IP端口1433(默认设置),但仍然会出现以下错误

...// more output
at test.models.TestHibernate.main(TestHibernate.java:11)
Caused by: com.microsoft.sqlserver.jdbc.SQLServerException: Login failed for user 'not required'. ClientConnectionId:de7daf69-2619-4906-b063-459a5b614bdb
...// more output
引发异常的行:

session.beginTransaction();
hibernate.cfg.xml:

<property name="connection.driver_class">com.microsoft.sqlserver.jdbc.SQLServerDriver</property>
        <property name="connection.url">jdbc:sqlserver://localhost;databaseName=hibernatexml;integratedSecurity=false;</property>
        <property name="connection.username">not required</property>
        <property name="connection.password"/>
com.microsoft.sqlserver.jdbc.SQLServerDriver
jdbc:sqlserver://localhost;databaseName=hibernatexml;集成安全=假;
不需要的
我删除了其他的配置错误,但是我没有主意了。如果你需要更多信息,请告诉我

提前谢谢

SQL Server配置了windows身份验证作为登录方法。 jdbc:sqlserver://localhost;databaseName=hibernatexml;集成安全=假

如果您想从java应用程序中使用,那么

  • JDBC URL应该将
    integratedSecurity
    属性设置为
    true
  • Microsoft SQL Server JDBC驱动程序安装中的
    sqljdbc_auth.dll
    位置应设置为
    java.library.path
    JVM参数。 e、 g


将DLL的整个路径放在java.library.path中是行不通的,至少对于java 1.7来说是行不通的。您必须只指定目录,没有结尾“/”

e、 g: (1) 失败

警告:未能加载sqljdbc_auth.dll原因:java.library.path中没有sqljdbc_auth

com.microsoft.sqlserver.jdbc.SQLServerException:此驱动程序未配置为集成身份验证

(2) 好的

希望这有帮助


Jose。

我将身份验证模式更改为user/pass,并将其添加到
connection.url
中,就像在您的帖子中一样,但它会阻塞(或者可能需要太长时间,我没有等待足够的时间)当我在
SessionFactory
对象上调用
getCurrentSession
时。您是否尝试过使用JDBC的示例程序,以查看您的SQL Server是否也会发生同样的情况?如果是这样,JDBC程序应该抛出“连接被拒绝”异常,SQL Server配置中将缺少某些内容。
-Djava.library.path="C:/Program Files/sqljdbc_4.0.2206.100_enu/sqljdbc_4.0/enu/auth/x64/sqljdbc_auth.dll"
java -cp .;"C:\Program Files\Microsoft JDBC Driver 4.0 for SQL Server\sqljdbc_4.0\enu\sqljdbc4.jar"
     -Djava.library.path="C:\Program Files\Microsoft JDBC Driver 4.0 for SQL Server\sqljdbc_4.0\enu\auth\x64\sqljdbc_auth.dl"
     ConnectMSSQLServer
java -cp .;"C:\Program Files\Microsoft JDBC Driver 4.0 for SQL Server\sqljdbc_4.0\enu\sqljdbc4.jar"
     -Djava.library.path="C:\Program Files\Microsoft JDBC Driver 4.0 for SQL Server\sqljdbc_4.0\enu\auth\x64"
     ConnectMSSQLServer