2011-11-30 80 views
0

我想在遠程數據庫中堅持一條記錄。不過,我收到以下錯誤:錯誤,而堅持記錄

Exception [EclipseLink-4003] (Eclipse Persistence Services - 2.1.3.v20110304-r9073): org.eclipse.persistence.exceptions.DatabaseException 
Exception Description: Configuration error. Class [com.microsoft.sqlserver.jdbc.SQLServerDriver] not found. 
    at org.eclipse.persistence.exceptions.DatabaseException.configurationErrorClassNotFound(DatabaseException.java:82) 
    at org.eclipse.persistence.sessions.DefaultConnector.loadDriverClass(DefaultConnector.java:267) 
    at org.eclipse.persistence.sessions.DefaultConnector.connect(DefaultConnector.java:85) 
    at org.eclipse.persistence.sessions.DatasourceLogin.connectToDatasource(DatasourceLogin.java:162) 
    at org.eclipse.persistence.internal.sessions.DatabaseSessionImpl.loginAndDetectDatasource(DatabaseSessionImpl.java:579) 
    at org.eclipse.persistence.internal.jpa.EntityManagerFactoryProvider.login(EntityManagerFactoryProvider.java:228) 
    at org.eclipse.persistence.internal.jpa.EntityManagerSetupImpl.deploy(EntityManagerSetupImpl.java:389) 
    at org.eclipse.persistence.internal.jpa.EntityManagerFactoryImpl.getServerSession(EntityManagerFactoryImpl.java:164) 
    at org.eclipse.persistence.internal.jpa.EntityManagerFactoryImpl.createEntityManagerImpl(EntityManagerFactoryImpl.java:221) 
    at org.eclipse.persistence.internal.jpa.EntityManagerFactoryImpl.createEntityManager(EntityManagerFactoryImpl.java:209) 
    at com.vistakon.util.Props.insertRowCount(Props.java:98) 
. 
. 
. 
    at com.bea.core.repackaged.springframework.aop.support.DelegatingIntroductionInterceptor.invoke(DelegatingIntroductionInterceptor.java:119) 
    at com.bea.core.repackaged.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:171) 
    at com.bea.core.repackaged.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:204) 
    at $Proxy135.onMessage(Unknown Source) 
    at weblogic.ejb.container.internal.MDListener.execute(MDListener.java:574) 
    at weblogic.ejb.container.internal.MDListener.transactionalOnMessage(MDListener.java:477) 
    at weblogic.ejb.container.internal.MDListener.onMessage(MDListener.java:379) 
    at weblogic.jms.client.JMSSession.onMessage(JMSSession.java:4659) 
    at weblogic.jms.client.JMSSession.execute(JMSSession.java:4345) 
    at weblogic.jms.client.JMSSession.executeMessage(JMSSession.java:3821) 
    at weblogic.jms.client.JMSSession.access$000(JMSSession.java:115) 
    at weblogic.jms.client.JMSSession$UseForRunnable.run(JMSSession.java:5170) 
    at weblogic.work.SelfTuningWorkManagerImpl$WorkAdapterImpl.run(SelfTuningWorkManagerImpl.java:528) 
    at weblogic.work.ExecuteThread.execute(ExecuteThread.java:209) 
    at weblogic.work.ExecuteThread.run(ExecuteThread.java:178) 

這裏是我的的persistence.xml

<?xml version="1.0" encoding="UTF-8"?> 
<persistence version="1.0" 
    xmlns="http://java.sun.com/xml/ns/persistence" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
    xsi:schemaLocation="http://java.sun.com/xml/ns/persistence http://java.sun.com/xml/ns/persistence/persistence_1_0.xsd"> 
    <persistence-unit name="prjEjbProj" transaction-type="RESOURCE_LOCAL"> 
    <provider>org.eclipse.persistence.jpa.PersistenceProvider</provider> 
<!--  <jta-data-source>java:comp/env/jdbc/MSSQL1</jta-data-source> --> 
     <class>com.model.DbLogTable</class> 
     <properties> 
      <property name="javax.persistence.jdbc.url" value="jdbc:weblogic:sqlserver://mssql1.xxx.xxx.xxx.com:1433;databaseName=mydb" /> 
      <property name="javax.persistence.jdbc.user" value="user" /> 
      <property name="javax.persistence.jdbc.driver" value="com.microsoft.sqlserver.jdbc.SQLServerDriver" /> 
      <property name="javax.persistence.jdbc.password" value="pwd" /> 
     </properties> 
    </persistence-unit> 
</persistence> 

我的EJB模塊(消息驅動bean)部署在WebLogic Server上。我幾乎沒有使用過JPA/EJB3/Weblogic。所以可能是我犯了一個基本的錯誤,但我無法找到它。從錯誤中,我在persistence.xml中指定的驅動程序肯定是錯誤的,誰能告訴我應該指定什麼驅動程序?還有什麼我應該改變?

任何幫助,非常感謝。

回答

0

哦該死..........我猜weblogic.jdbc.sqlserver.SQLServerDriver的作品。

+0

恭喜您解決您的問題。如果可以,請將您的答案標記爲「已接受」,以便其他人可以從您的解決方案中學習。乾杯〜 –

+0

@Andrew:我只能在發佈2天后才能接受我自己的回答。但我一定會這樣做。 – Bhushan