在hibernate表的映射文件中
<hibernate-mapping>
<class name="com.sooyie.hibernate.orm.Link" table="Link" schema="dbo" catalog="Sx_jsqc">
報錯:java.sql.SQLException: 服務器主體 "soft" 無法在當前安全上下文下訪問數據庫 "Sx_jsqc"。
net.sourceforge.jtds.jdbc.SQLDiagnostic.addDiagnostic(SQLDiagnostic.java:364)
net.sourceforge.jtds.jdbc.TdsCore.tdsErrorToken(TdsCore.java:2778)
net.sourceforge.jtds.jdbc.TdsCore.nextToken(TdsCore.java:2214)
net.sourceforge.jtds.jdbc.TdsCore.getMoreResults(TdsCore.java:597)
net.sourceforge.jtds.jdbc.JtdsStatement.executeSQLQuery(JtdsStatement.java:343)
net.sourceforge.jtds.jdbc.JtdsPreparedStatement.executeQuery(JtdsPreparedStatement.java:665)
org.hibernate.jdbc.AbstractBatcher.getResultSet(AbstractBatcher.java:139)
org.hibernate.loader.Loader.getResultSet(Loader.java:1669)
org.hibernate.loader.Loader.doQuery(Loader.java:662)
org.hibernate.loader.Loader.doQueryAndInitializeNonLazyCollections(Loader.java:224)
org.hibernate.loader.Loader.loadEntity(Loader.java:1785)
org.hibernate.loader.entity.AbstractEntityLoader.load(AbstractEntityLoader.java:47)
org.hibernate.loader.entity.AbstractEntityLoader.load(AbstractEntityLoader.java:41)
org.hibernate.persister.entity.AbstractEntityPersister.load(AbstractEntityPersister.java:2730)
org.hibernate.event.def.DefaultLoadEventListener.loadFromDatasource(DefaultLoadEventListener.java:365)
。。。
由於原來的數據庫名為Sx_jsqc,現在改為soft后,需要替換為catalog="soft"
以前看資料,總說讓把這個catalog的東西刪除了,今天終於體會到了。
================================================
我用myEclipse開發,基本上POJO和hbm.xml的配置文件都是自動生成的,
自動生成好的配置文件里面有一個 <catalog>這個屬性,默認是數據庫名
我怎么看到好多資料上面建立把這個屬性去掉,說可能出現文件,怎么我沒有出現過什么問題,
究竟這個屬性有什么用??
下面的catalog="onlinetest"指定了數據庫為onlinetest,弄得我一直在納悶前面的hibernate.cfg.xml里的connection.url指定的databaseName怎么就不見效果了呢。看來學習上還要認真才是!
<?xml version="1.0"?>
<!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN"
"http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
<!--
Mapping file autogenerated by MyEclipse - Hibernate Tools
-->
<hibernate-mapping>
<class name="onlinetest.Hibernate.Teacher" table="teacher" catalog="onlinetest">
<id name="id" type="integer">
<column name="id" />
<generator />
</id>
<property name="name" type="string">
<column name="name" length="20" />
</property>
<property name="password" type="string">
<column name="password" length="50" not-null="true" />
</property>
</class>
</hibernate-mapping>