2013-10-21 17 views
0

我在使用spring通過JNDI連接到Advantage Databse時遇到了一些問題。在Spring中通過JNDI連接Advantage數據庫

我試圖連接Advantage Database與下面的代碼工作。

<bean id="peopleSoftDataSource" destroy-method="close" class="org.springframework.jdbc.datasource.DriverManagerDataSource"> 
    < property name="driverClassName" value="com.extendedsystems.jdbc.advantage.ADSDriver"/> 
    < property name="url" value="jdbc:extendedsystems:advantage://localhost:6262/test/test.add;User=testuser;Password=testuser"/> 
< /bean> 

在哪裏好像通過JNDI連接,因爲登錄失敗會得到異常。我不知道爲什麼它不通過JNDI工作

applicationcontext.xml configuration 

< bean id="dataSource" class="org.springframework.jndi.JndiObjectFactoryBean"><br/> 
    < property name="jndiName" value="peopleSoftDataSource" /><br/> 
    < property name="resourceRef" value="true" /><br/> 
< /bean> 

server.xml configuration 

< Resource driverClassName="com.extendedsystems.jdbc.advantage.ADSDriver" maxActive="4" maxIdle="2" maxWait="5000" name="jdbc/PeopleSoft" 
removeAbandoned="true" type="javax.sql.DataSource" url="jdbc:extendedsystems:advantage://localhost:6262/test/test.add;User=testuser;Password=testuser;" /> 

有人幫助解決上述問題。

+0

當它不工作,什麼是異常的錯誤代碼?什麼是異常類? –

+0

嗨亞歷克斯, 以下是錯誤得到.. 引起:com.extendedsystems.jdbc.advantage.ADSException:[iAnywhere解決方案] [Advantage JDBC]登錄失敗。 – user2819805

+0

僅當服務器拒絕來自客戶端的連接時纔會引發該錯誤消息。該異常應該有一個關聯的錯誤代碼ex.getErrorCode,可以進一步縮小問題的範圍。您可以檢查服務器上的ads_err.adt以獲取錯誤代碼。 –

回答

0

我不熟悉使用JNDI,但是,我注意到兩個xml配置文件之間的數據源名稱存在差異。一個擁有「PeopleSoftDataSource」,另一個擁有「PeopleSoft」。這可能是問題嗎?

+0

嗨亞歷克斯, 我們將用映射的context.xml名稱, <上下文路徑= 「/磨損MOPAR」 重新加載= 「真」 swallowOutput = 「真」> 這在這裏看起來不錯。 – user2819805

0

我找到了解決方案,現在工作正常。

我們必須提供的路徑如下

<資源driverClassName = 「com.extendedsystems.jdbc.advantage.ADSDriver」 maxActive = 「4」 了maxidle = 「2」 MAXWAIT = 「5000」 名稱=「JDBC/PeopleSoft「 removeAbandoned =」true「type =」javax.sql.DataSource「url =」jdbc:extendedsystems:advantage:// localhost:6262; catalog = C:/ProfitMaker/ASIPlays/asipm.add; user = asiadsuser;密碼= asiadsuser 「/>

代替下面

<資源driverClassName =」 com.extendedsystems.jdbc.a dvantage.ADSDriver「maxActive =」4「maxIdle =」2「maxWait =」5000「name =」jdbc/PeopleSoft「 removeAbandoned =」true「type =」javax.sql.DataSource「url =」jdbc:extendedsystems:advantage: //localhost:6262/test/test.add;User=testuser;Password=testuser;」 />

感謝, 仙人