通过hibernate连接到MS sql

时间:2010-03-23 05:11:48

标签: java sql-server-2005 hibernate orm

我想在java中使用hibernate连接到MS SQl server 2005。我无法找到相同的jar和hibernate.cfg.xml文件。有人可以帮助我同样的

4 个答案:

答案 0 :(得分:10)

Pascal Thivent所述,使用任何一个驱动程序。如果是JTDS,请使用以下配置。

<hibernate-configuration>
<session-factory>
    <property name="connection.url">jdbc:jtds:sqlserver://XX.XX.XXX.XX:YYYY/DB-NAME</property>
    <property name="connection.driver_class">net.sourceforge.jtds.jdbc.Driver</property>
    <property name="connection.username">username</property>
    <property name="connection.password">password</property>
    <property name="dialect">org.hibernate.dialect.SQLServerDialect</property>
. 
.
.
</session-factory>
</hibernate-configuration>

如果是Microsoft SQL JDBC Driver,

<hibernate-configuration>
<session-factory>
    <property name="connection.url">jdbc:microsoft:sqlserver://XX.XX.XXX.XX:YYYY/DB-NAME</property>
    <property name="connection.driver_class">com.microsoft.sqlserver.jdbc.SQLServerDriver</property>
    <property name="connection.username">username</property>
    <property name="connection.password">password</property>
    <property name="dialect">org.hibernate.dialect.SQLServerDialect</property>
. 
.
.
</session-factory>
</hibernate-configuration>

答案 1 :(得分:3)

你需要的只是司机班和正确的方言。见http://msdn.microsoft.com/en-us/library/ms378749.aspx

如果您有驱动程序,那么(至少)您需要指定连接属性:http://www.roseindia.net/hibernate/firstexample.shtml

正确的方言似乎是:org.hibernate.dialect.SQLServerDialect

答案 2 :(得分:2)

  

我无法找到罐子。

Microsoft获取SQL Server 2005的JDBC驱动程序,或使用开源替代jTDS

  

和hibernate.cfg.xml文件相同的

SQL Server 2005的方言是org.hibernate.dialect.SQLServerDialect

其他参数(如驱动程序类名称,jdbc URL)将取决于您选择的驱动程序。请参阅相应的文档。

答案 3 :(得分:0)

我也面对并且在经过多次尝试后我找到了解决方案并且它对我来说很好用

您也可以使用JNDI连接字符串创建连接。

在ApplicationContext.xml或applicationContext-resources.xml

<jee:jndi-lookup id="dataSource" lookup-on-startup="true" resource-ref="true"  jndi-name="jdbc/resourcename"/>

在Apache Context.xml中

<Resource name="jdbc/resourcename" auth="Container" type="javax.sql.DataSource"
    username=username password=password driverClassName="com.microsoft.sqlserver.jdbc.SQLServerDriver"
    url="jdbc:sqlserver://localhost:1433;databaseName=dbname />

在persistence.xml或hibernate.cfg.xml中添加hibernate方言

<property name="hibernate.dialect" value="org.hibernate.dialect.SQLServerDialect" />

现在只需构建代码并在Apache服务器上运行。