Thanks for the help!
I still get the error with the latest build of Geo Server, but not sure
if that includes the latest version of the SQL 08 driver, or if there is
a nightly build of that component?
Anyway, here is the exception I get:
<?xml version="1.0" encoding="UTF-8" standalone="no" ?>
<!DOCTYPE ServiceExceptionReport (View Source for full doctype...)>
- <ServiceExceptionReport version="1.1.1">
<ServiceException>java.io.IOException null Translator error Could not
determine fid from primary key String index out of range:
-1</ServiceException>
</ServiceExceptionReport>
And here is the full stack trace:
25 Feb 12:38:26 ERROR [geotools.rendering] - Could not determine fid
from primar
y key
java.lang.RuntimeException: Could not determine fid from primary key
at
org.geotools.jdbc.JDBCFeatureReader.next(JDBCFeatureReader.java:265)
at
org.geotools.jdbc.JDBCFeatureReader.next(JDBCFeatureReader.java:79)
at
org.geotools.data.FilteringFeatureReader.hasNext(FilteringFeatureRead
er.java:128)
at
org.geotools.data.store.ContentFeatureCollection$WrappingIterator.has
Next(ContentFeatureCollection.java:247)
at
org.geotools.renderer.lite.StreamingRenderer.drawOptimized(StreamingR
enderer.java:1698)
at
org.geotools.renderer.lite.StreamingRenderer.processStylers(Streaming
Renderer.java:1618)
at
org.geotools.renderer.lite.StreamingRenderer.paint(StreamingRenderer.
java:668)
at
org.geotools.renderer.shape.ShapefileRenderer.renderWithStreamingRend
erer(ShapefileRenderer.java:1475)
at
org.geotools.renderer.shape.ShapefileRenderer.paint(ShapefileRenderer
.java:1344)
at
org.geotools.renderer.shape.ShapefileRenderer.paint(ShapefileRenderer
.java:265)
at
org.vfny.geoserver.wms.responses.DefaultRasterMapProducer.produceMap(
DefaultRasterMapProducer.java:351)
at
org.vfny.geoserver.wms.responses.GetMapResponse.execute(GetMapRespons
e.java:420)
at
org.geoserver.ows.adapters.ResponseAdapter.getMimeType(ResponseAdapte
r.java:48)
at org.geoserver.ows.Dispatcher.response(Dispatcher.java:698)
at
org.geoserver.ows.Dispatcher.handleRequestInternal(Dispatcher.java:21
5)
at
org.springframework.web.servlet.mvc.AbstractController.handleRequest(
AbstractController.java:153)
at
org.springframework.web.servlet.mvc.SimpleControllerHandlerAdapter.ha
ndle(SimpleControllerHandlerAdapter.java:48)
at
org.springframework.web.servlet.DispatcherServlet.doDispatch(Dispatch
erServlet.java:875)
at
org.springframework.web.servlet.DispatcherServlet.doService(Dispatche
rServlet.java:809)
at
org.springframework.web.servlet.FrameworkServlet.processRequest(Frame
workServlet.java:571)
at
org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServl
et.java:501)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:707)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:820)
at
org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java:487
)
at
org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(Servlet
Handler.java:1093)
at
org.vfny.geoserver.filters.SetCharacterEncodingFilter.doFilter(SetCha
racterEncodingFilter.java:108)
at
org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(Servlet
Handler.java:1084)
at
org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(F
ilterChainProxy.java:264)
at
org.acegisecurity.intercept.web.FilterSecurityInterceptor.invoke(Filt
erSecurityInterceptor.java:107)
at
org.acegisecurity.intercept.web.FilterSecurityInterceptor.doFilter(Fi
lterSecurityInterceptor.java:72)
at
org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(F
ilterChainProxy.java:274)
at
org.acegisecurity.ui.ExceptionTranslationFilter.doFilter(ExceptionTra
nslationFilter.java:110)
at
org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(F
ilterChainProxy.java:274)
at
org.acegisecurity.providers.anonymous.AnonymousProcessingFilter.doFil
ter(AnonymousProcessingFilter.java:125)
at
org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(F
ilterChainProxy.java:274)
at
org.acegisecurity.ui.basicauth.BasicProcessingFilter.doFilter(BasicPr
ocessingFilter.java:178)
at
org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(F
ilterChainProxy.java:274)
at
org.acegisecurity.context.HttpSessionContextIntegrationFilter.doFilte
r(HttpSessionContextIntegrationFilter.java:229)
at
org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(F
ilterChainProxy.java:274)
at
org.acegisecurity.util.FilterChainProxy.doFilter(FilterChainProxy.jav
a:148)
at
org.acegisecurity.util.FilterToBeanProxy.doFilter(FilterToBeanProxy.j
ava:98)
at
org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(Servlet
Handler.java:1084)
at
org.geoserver.filters.LoggingFilter.doFilter(LoggingFilter.java:73)
at
org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(Servlet
Handler.java:1084)
at
org.geoserver.filters.ReverseProxyFilter.doFilter(ReverseProxyFilter.
java:163)
at
org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(Servlet
Handler.java:1084)
at org.geoserver.filters.GZIPFilter.doFilter(GZIPFilter.java:41)
at
org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(Servlet
Handler.java:1084)
at
org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:3
60)
at
org.mortbay.jetty.security.SecurityHandler.handle(SecurityHandler.jav
a:216)
at
org.mortbay.jetty.servlet.SessionHandler.handle(SessionHandler.java:1
81)
at
org.mortbay.jetty.handler.ContextHandler.handle(ContextHandler.java:7
26)
at
org.mortbay.jetty.webapp.WebAppContext.handle(WebAppContext.java:405)
at
org.mortbay.jetty.handler.ContextHandlerCollection.handle(ContextHand
lerCollection.java:206)
at
org.mortbay.jetty.handler.HandlerCollection.handle(HandlerCollection.
java:114)
at
org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:1
52)
at org.mortbay.jetty.Server.handle(Server.java:324)
at
org.mortbay.jetty.HttpConnection.handleRequest(HttpConnection.java:50
5)
at
org.mortbay.jetty.HttpConnection$RequestHandler.headerComplete(HttpCo
nnection.java:828)
at org.mortbay.jetty.HttpParser.parseNext(HttpParser.java:514)
at
org.mortbay.jetty.HttpParser.parseAvailable(HttpParser.java:211)
at
org.mortbay.jetty.HttpConnection.handle(HttpConnection.java:380)
at
org.mortbay.io.nio.SelectChannelEndPoint.run(SelectChannelEndPoint.ja
va:395)
at
org.mortbay.thread.BoundedThreadPool$PoolThread.run(BoundedThreadPool
.java:450)
Caused by: java.lang.StringIndexOutOfBoundsException: String index out
of range:
-1
at java.lang.AbstractStringBuilder.setLength(Unknown Source)
at java.lang.StringBuffer.setLength(Unknown Source)
at
org.geotools.jdbc.JDBCDataStore.encodeFID(JDBCDataStore.java:1175)
at
org.geotools.jdbc.JDBCDataStore.encodeFID(JDBCDataStore.java:1167)
at
org.geotools.jdbc.JDBCFeatureReader.next(JDBCFeatureReader.java:260)
... 63 more
25 Feb 12:39:40 ERROR [geoserver.ows] -
java.io.IOException
at
org.vfny.geoserver.wms.responses.map.georss.RSSGeoRSSMapProducer.writ
eTo(RSSGeoRSSMapProducer.java:81)
at
org.vfny.geoserver.wms.responses.GetMapResponse.writeTo(GetMapRespons
e.java:619)
at
org.geoserver.ows.adapters.ResponseAdapter.write(ResponseAdapter.java
:60)
at org.geoserver.ows.Dispatcher.response(Dispatcher.java:711)
at
org.geoserver.ows.Dispatcher.handleRequestInternal(Dispatcher.java:21
5)
at
org.springframework.web.servlet.mvc.AbstractController.handleRequest(
AbstractController.java:153)
at
org.springframework.web.servlet.mvc.SimpleControllerHandlerAdapter.ha
ndle(SimpleControllerHandlerAdapter.java:48)
at
org.springframework.web.servlet.DispatcherServlet.doDispatch(Dispatch
erServlet.java:875)
at
org.springframework.web.servlet.DispatcherServlet.doService(Dispatche
rServlet.java:809)
at
org.springframework.web.servlet.FrameworkServlet.processRequest(Frame
workServlet.java:571)
at
org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServl
et.java:501)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:707)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:820)
at
org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java:487
)
at
org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(Servlet
Handler.java:1093)
at
org.vfny.geoserver.filters.SetCharacterEncodingFilter.doFilter(SetCha
racterEncodingFilter.java:108)
at
org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(Servlet
Handler.java:1084)
at
org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(F
ilterChainProxy.java:264)
at
org.acegisecurity.intercept.web.FilterSecurityInterceptor.invoke(Filt
erSecurityInterceptor.java:107)
at
org.acegisecurity.intercept.web.FilterSecurityInterceptor.doFilter(Fi
lterSecurityInterceptor.java:72)
at
org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(F
ilterChainProxy.java:274)
at
org.acegisecurity.ui.ExceptionTranslationFilter.doFilter(ExceptionTra
nslationFilter.java:110)
at
org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(F
ilterChainProxy.java:274)
at
org.acegisecurity.providers.anonymous.AnonymousProcessingFilter.doFil
ter(AnonymousProcessingFilter.java:125)
at
org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(F
ilterChainProxy.java:274)
at
org.acegisecurity.ui.basicauth.BasicProcessingFilter.doFilter(BasicPr
ocessingFilter.java:178)
at
org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(F
ilterChainProxy.java:274)
at
org.acegisecurity.context.HttpSessionContextIntegrationFilter.doFilte
r(HttpSessionContextIntegrationFilter.java:229)
at
org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(F
ilterChainProxy.java:274)
at
org.acegisecurity.util.FilterChainProxy.doFilter(FilterChainProxy.jav
a:148)
at
org.acegisecurity.util.FilterToBeanProxy.doFilter(FilterToBeanProxy.j
ava:98)
at
org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(Servlet
Handler.java:1084)
at
org.geoserver.filters.LoggingFilter.doFilter(LoggingFilter.java:73)
at
org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(Servlet
Handler.java:1084)
at
org.geoserver.filters.ReverseProxyFilter.doFilter(ReverseProxyFilter.
java:163)
at
org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(Servlet
Handler.java:1084)
at org.geoserver.filters.GZIPFilter.doFilter(GZIPFilter.java:41)
at
org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(Servlet
Handler.java:1084)
at
org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:3
60)
at
org.mortbay.jetty.security.SecurityHandler.handle(SecurityHandler.jav
a:216)
at
org.mortbay.jetty.servlet.SessionHandler.handle(SessionHandler.java:1
81)
at
org.mortbay.jetty.handler.ContextHandler.handle(ContextHandler.java:7
26)
at
org.mortbay.jetty.webapp.WebAppContext.handle(WebAppContext.java:405)
at
org.mortbay.jetty.handler.ContextHandlerCollection.handle(ContextHand
lerCollection.java:206)
at
org.mortbay.jetty.handler.HandlerCollection.handle(HandlerCollection.
java:114)
at
org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:1
52)
at org.mortbay.jetty.Server.handle(Server.java:324)
at
org.mortbay.jetty.HttpConnection.handleRequest(HttpConnection.java:50
5)
at
org.mortbay.jetty.HttpConnection$RequestHandler.headerComplete(HttpCo
nnection.java:828)
at org.mortbay.jetty.HttpParser.parseNext(HttpParser.java:514)
at
org.mortbay.jetty.HttpParser.parseAvailable(HttpParser.java:211)
at
org.mortbay.jetty.HttpConnection.handle(HttpConnection.java:380)
at
org.mortbay.io.nio.SelectChannelEndPoint.run(SelectChannelEndPoint.ja
va:395)
at
org.mortbay.thread.BoundedThreadPool$PoolThread.run(BoundedThreadPool
.java:450)
Caused by: javax.xml.transform.TransformerException: Translator error
at
org.geotools.xml.transform.TransformerBase.transform(TransformerBase.
java:133)
at
org.geotools.xml.transform.TransformerBase.transform(TransformerBase.
java:108)
at
org.vfny.geoserver.wms.responses.map.georss.RSSGeoRSSMapProducer.writ
eTo(RSSGeoRSSMapProducer.java:79)
... 53 more
Caused by: java.lang.RuntimeException: Could not determine fid from
primary key
at
org.geotools.jdbc.JDBCFeatureReader.next(JDBCFeatureReader.java:265)
at
org.geotools.jdbc.JDBCFeatureReader.next(JDBCFeatureReader.java:79)
at
org.geotools.data.FilteringFeatureReader.hasNext(FilteringFeatureRead
er.java:128)
at
org.geotools.data.store.ContentFeatureCollection$WrappingFeatureItera
tor.hasNext(ContentFeatureCollection.java:196)
at
org.vfny.geoserver.wms.responses.map.georss.RSSGeoRSSTransformer$RSSG
eoRSSTranslator.encodeItems(RSSGeoRSSTransformer.java:86)
at
org.vfny.geoserver.wms.responses.map.georss.RSSGeoRSSTransformer$RSSG
eoRSSTranslator.encode(RSSGeoRSSTransformer.java:68)
at
org.geotools.xml.transform.TransformerBase$XMLReaderSupport.parse(Tra
nsformerBase.java:714)
at
org.apache.xalan.transformer.TransformerIdentityImpl.transform(Transf
ormerIdentityImpl.java:484)
at
org.geotools.xml.transform.TransformerBase$Task.run(TransformerBase.j
ava:296)
at
org.geotools.xml.transform.TransformerBase.transform(TransformerBase.
java:129)
... 55 more
Caused by: java.lang.StringIndexOutOfBoundsException: String index out
of range:
-1
at java.lang.AbstractStringBuilder.setLength(Unknown Source)
at java.lang.StringBuffer.setLength(Unknown Source)
at
org.geotools.jdbc.JDBCDataStore.encodeFID(JDBCDataStore.java:1175)
at
org.geotools.jdbc.JDBCDataStore.encodeFID(JDBCDataStore.java:1167)
at
org.geotools.jdbc.JDBCFeatureReader.next(JDBCFeatureReader.java:260)
... 64 more
-----Original Message-----
From: Justin Deoliveira [mailto:jdeolive@anonymised.com]
Sent: Wednesday, February 25, 2009 12:39 PM
To: Nathan Stults
Cc: geoserver-users@lists.sourceforge.net
Subject: Re: [Geoserver-users] SQL 08 Driver and Views
Cool, that sounds great. I will try it out on a local sql server install
to see if i can replicate the issue as well.
Nathan Stults wrote:
We can see the view, we can create a feature using the view, but no
data
is displayed in the map preview because of a JDBC error complaining
about not being able to detect a primary key, so the layer doesn't get
a
FID I guess. I've downloaded the latest nightly build of GeoServer and
will try once more, if I run into the same issue, I'll post the stack
trace.
-----Original Message-----
From: Justin Deoliveira [mailto:jdeolive@anonymised.com]
Sent: Wednesday, February 25, 2009 12:25 PM
To: Nathan Stults
Cc: geoserver-users@lists.sourceforge.net
Subject: Re: [Geoserver-users] SQL 08 Driver and Views
Hi Nathan,
It is quite possible that you have stumbled upon a bug. When you go to
add the view, does it not show up at all in the feature type editor?
Or
can you add it and get an error?
-Justin
Nathan Stults wrote:
Hello,
We are trying to use SQL 08 as our Geo Server data source, but can't
seem to figure a way to make it accept views, because it is expecting
a
primary key, which obviously doesn't exist on a view. We did a spike
with PostGIS and it seems to work like a charm. We're happy to look
into
this issue ourselves, but I'm having trouble locating where in the
svn
repository the SQL 08 driver code lives...
Thanks,
HsiLogo
Nathan Stults, CTO
416 B Street, Suite B
Santa Rosa, CA 95401
www.hsihealth.com <http://www.hsihealth.com/>
o: 707-528-7464
o: 866-209-6310
c: 707-477-7548
------------------------------------------------------------------------
------------------------------------------------------------------------
------
Open Source Business Conference (OSBC), March 24-25, 2009, San
Francisco, CA
-OSBC tackles the biggest issue in open source: Open Sourcing the
Enterprise
-Strategies to boost innovation and cut costs with open source
participation
-Receive a $600 discount off the registration fee with the source
code: SFAD
http://p.sf.net/sfu/XcvMzF8H
------------------------------------------------------------------------
_______________________________________________
Geoserver-users mailing list
Geoserver-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/geoserver-users
--
Justin Deoliveira
OpenGeo - http://opengeo.org
Enterprise support for open source geospatial.