내 대학의 누군가가 작업 중이었던 이전 프로젝트를 다시 시도하고 있습니다. 이것은 주로 지리 데이터의 DB 관리 (psql에서 만들어지고 postgis 1.5와 2.0 사용)와 일부 수정과 java netbeans에서 만들어진 GUI입니다. 이 둘 사이의 인터페이스를 위해 Maven과 hibernate가 사용되고있다.srid (geometry) 함수가 존재하지 않습니다. Java 동면 일
내가 일하게 될 것으로 예상되는 응용 프로그램을 실행하려고 할 때, 나는 브레이크 포인트에 도달이 오류
SEVERE: ERROR: no existe la función srid(geometry)
Exception in thread "AWT-EventQueue-0" org.hibernate.exception.SQLGrammarException: could not execute native bulk manipulation query
at org.hibernate.exception.SQLStateConverter.convert(SQLStateConverter.java:67)
at org.hibernate.exception.JDBCExceptionHelper.convert(JDBCExceptionHelper.java:43)
at org.hibernate.engine.query.NativeSQLQueryPlan.performExecuteUpdate(NativeSQLQueryPlan.java:174)
at org.hibernate.impl.SessionImpl.executeNativeUpdate(SessionImpl.java:1163)
at org.hibernate.impl.SQLQueryImpl.executeUpdate(SQLQueryImpl.java:334)
at testdb.ui.NetworkClustering.updateOLTdistance(NetworkClustering.java:609)
at testdb.ui.MetroClustering.setMetroOltDist(MetroClustering.java:118)
at testdb.ui.MetroClustering.clusterData(MetroClustering.java:38)
at com.kipouridis.thesis.GUI.MetroDialog.jButton1ActionPerformed(MetroDialog.java:102)
at com.kipouridis.thesis.GUI.MetroDialog.access$100(MetroDialog.java:19)
at com.kipouridis.thesis.GUI.MetroDialog$2.actionPerformed(MetroDialog.java:56)
at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:2018)
at javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2341)
at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:402)
at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:259)
at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(BasicButtonListener.java:252)
at java.awt.Component.processMouseEvent(Component.java:6505)
at javax.swing.JComponent.processMouseEvent(JComponent.java:3320)
at java.awt.Component.processEvent(Component.java:6270)
at java.awt.Container.processEvent(Container.java:2229)
at java.awt.Component.dispatchEventImpl(Component.java:4861)
at java.awt.Container.dispatchEventImpl(Container.java:2287)
at java.awt.Component.dispatchEvent(Component.java:4687)
at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4832)
at java.awt.LightweightDispatcher.processMouseEvent(Container.java:4492)
at java.awt.LightweightDispatcher.dispatchEvent(Container.java:4422)
at java.awt.Container.dispatchEventImpl(Container.java:2273)
at java.awt.Window.dispatchEventImpl(Window.java:2719)
at java.awt.Component.dispatchEvent(Component.java:4687)
at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:735)
at java.awt.EventQueue.access$200(EventQueue.java:103)
at java.awt.EventQueue$3.run(EventQueue.java:694)
at java.awt.EventQueue$3.run(EventQueue.java:692)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:76)
at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:87)
at java.awt.EventQueue$4.run(EventQueue.java:708)
at java.awt.EventQueue$4.run(EventQueue.java:706)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:76)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:705)
at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:242)
at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:161)
at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:154)
at java.awt.WaitDispatchSupport$2.run(WaitDispatchSupport.java:182)
at java.awt.WaitDispatchSupport$4.run(WaitDispatchSupport.java:221)
at java.security.AccessController.doPrivileged(Native Method)
at java.awt.WaitDispatchSupport.enter(WaitDispatchSupport.java:219)
at java.awt.Dialog.show(Dialog.java:1082)
at java.awt.Component.show(Component.java:1651)
at java.awt.Component.setVisible(Component.java:1603)
at java.awt.Window.setVisible(Window.java:1014)
at java.awt.Dialog.setVisible(Dialog.java:1005)
at com.kipouridis.thesis.GUI.ONUAdmin.calcDistQueryButtonActionPerformed(ONUAdmin.java:219)
at com.kipouridis.thesis.GUI.ONUAdmin.access$100(ONUAdmin.java:44)
at com.kipouridis.thesis.GUI.ONUAdmin$2.actionPerformed(ONUAdmin.java:94)
at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:2018)
at javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2341)
at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:402)
at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:259)
at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(BasicButtonListener.java:252)
at java.awt.Component.processMouseEvent(Component.java:6505)
at javax.swing.JComponent.processMouseEvent(JComponent.java:3320)
at java.awt.Component.processEvent(Component.java:6270)
at java.awt.Container.processEvent(Container.java:2229)
at java.awt.Component.dispatchEventImpl(Component.java:4861)
at java.awt.Container.dispatchEventImpl(Container.java:2287)
at java.awt.Component.dispatchEvent(Component.java:4687)
at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4832)
at java.awt.LightweightDispatcher.processMouseEvent(Container.java:4492)
at java.awt.LightweightDispatcher.dispatchEvent(Container.java:4422)
at java.awt.Container.dispatchEventImpl(Container.java:2273)
at java.awt.Window.dispatchEventImpl(Window.java:2719)
at java.awt.Component.dispatchEvent(Component.java:4687)
at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:735)
at java.awt.EventQueue.access$200(EventQueue.java:103)
at java.awt.EventQueue$3.run(EventQueue.java:694)
at java.awt.EventQueue$3.run(EventQueue.java:692)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:76)
at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:87)
at java.awt.EventQueue$4.run(EventQueue.java:708)
at java.awt.EventQueue$4.run(EventQueue.java:706)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:76)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:705)
at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:242)
at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:161)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:150)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:146)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:138)
at java.awt.EventDispatchThread.run(EventDispatchThread.java:91)
를 얻을 거래는, 내가 발견은 하나의 업데이트에 도달했을 때 오류가 나타나는 DB를로,이 줄을 다음
String oltDistQuery = "update connections set oltdist = (select result.distance from "
+ "(select sum(st_length(st_transform(the_geom,2163))) as distance "
+ "from dijkstra_sp_delta('ways' , (select onu.source from onu where onu.gid = connections.gid )"
+ " , (select rn.source from onu as rn where rn.gid = "
+ "(select olt_id from metro_nets where net_id = connections.metro_net) ),0.01)) as result ) "
+ "where metro_net = " + 0;
:
result = oltDistQ.executeUpdate();
하고 oltDistQ에 적용되는 쿼리 다음이다
DB를 검사하고 모든 열이 존재하는 것으로 보았고, 내가 볼 수있는 한 srid (geometry) 함수가 해당 쿼리에 명시되지 않았습니다. 이 함수가 업데이트되었고 이제는 st_srid(geometry)
으로 명시되어 있지만이 함수가 호출되는 곳 또는 찾을 수있는 곳을 찾을 수 없습니다.
자바 파일을 검사 한 결과 쿼리 업데이트 내에서 해당 함수가 사용되지 않고 DB에 대해 함수가 호출되고 psql이이를 인식하지 못하면 테이블 창조 될 수 없었다; 그러나 그들은 창조되고 원하는 데이터를 가지고있다.
나는 내 자신의 프로젝트가 아니라고 말하면서 깊이 알지 못하는 라인 코드 (및 코드 파일)가 몇 가지 있습니다. 그러나 나는이 오류를 해결하기 위해 어디에서 점검해야할지 모르겠으므로 여기서 희망을 잃고 있습니다.
누군가가 뭔가를 알고 있다면, 정말 도움이 될 것입니다. 사전에
감사합니다!
안녕 마이크를! 대답 해줘서 고마워. 진심으로 나는 SQL에서 많은 일을하지 않았으므로 제안한 쿼리 (legacy.sql)를 실행하려고했습니다. 나는 postgis 메인 페이지에서 다운로드 할 수 있도록 메인 폴더에 없었습니다. 것은 이미 spatial_ref_sys 테이블을 가지고 있고 쿼리를 실행할 때 중복 된 키를 얻습니다. 첫 번째 줄은 다음과 같습니다. INSERT INTO "spatial_ref_sys"("srid", "auth_name", "auth_srid", "srtext", "proj4text") VALUES (4326, 'E ... 그때에 나는 오류를 계속 받았다 .Fe 나는 function addgeometry가 유일하지 않다는 것을 알게되었다. 그래서 내가 계속 해야할지 모르겠다. –
당신도 시도 할 수있는'legacy_minimal.sql' 파일이있다. 버전에 따라 PostGIS 버전이 함께 제공됩니다. –
팁 덕분에 저에게 도움이되었습니다. – rozap