KekcuHa, спасибо! Если ничего не получится постучусь!
Пока наметились некоторые сдвиги…
Скачал osmosis, закинул в программ файлз, посмотрел либы в lib/default, скопировал сам osmosis.jar в lib/default к остальным jar’ам и написал вот такой вот bat:
@ECHO OFF
set MYAPP_HOME=C:\Program Files\osmosis-0.31
set LIBDIR=%MYAPP_HOME%\lib\default
set LIBS="%LIBDIR%\osmosis.jar";"%LIBDIR%\bzip2-20090327.jar";"%LIBDIR%\commons-logging.jar";"%LIBDIR%\jpf-1.5.jar";"%LIBDIR%\mysql-connector-java-5.1.6.jar";"%LIBDIR%\postgis-1.3.2.jar";"%LIBDIR%\postgresql-8.4-701.jdbc4.jar";"%LIBDIR%\stax2-api-3.0.1.jar";"%LIBDIR%\woodstox-core-lgpl-4.0.3.jar"
SET EXEC=java -cp %LIBS% org.openstreetmap.osmosis.core.Osmosis %*
%EXEC%
@ECHO ON
Тут я в LIBS просто перечислили все jar файлы, которые нашел в lib/default и еще сам osmosis.jar указал.
Этот мой новый бат я закинул в C:\WINDOWS\system32 для удобства. Теперь откуда бы я не вызвал из командной строки osmosis все работает. Если просто osmosis выполнить без параметров, что-то выдает, но явно не ругается… ошибок нет.
Далее я делаю бат, который определяет параметры osmosis’а:
osmosis --read-xml-0.6 file="T:\planet-090916.osm" --write-pgsql-0.6 host="localhost" database="newdb" user="postgres" password="qwerty" validateSchemaVersion=no
pause
База создана, sql-скриптец http://gweb.bretth.com/apidb06-pgsql-latest.sql выполнил через консоль (psql) т.к. в pgAdmin III он не выполняется. Там при добавлении данных в таблицы используют COPY FROM stdin… через psql все отлично выполнилось, структура базы видна, данные в таблицах есть. (например в schema_migrations)
Далее пытаюсь запустить свой бат. Получаю вот такую фигню:
C:\temp>osmosis --read-xml-0.6 file="T:\planet-090916.osm" --write-pgsql-0.6 host="localhost" database="newdb" user="postgres" password="qwerty" validateSchemaVersion=no
27.09.2009 3:20:53 org.openstreetmap.osmosis.core.Osmosis run
INFO: Osmosis Version 0.31
27.09.2009 3:20:53 org.openstreetmap.osmosis.core.Osmosis run
INFO: Preparing pipeline.
27.09.2009 3:20:53 org.openstreetmap.osmosis.core.Osmosis run
INFO: Launching pipeline execution.
27.09.2009 3:20:53 org.openstreetmap.osmosis.core.Osmosis run
INFO: Pipeline executing, waiting for completion.
27.09.2009 3:20:53 org.openstreetmap.osmosis.core.pipeline.common.ActiveTaskManager waitForCompletion
SEVERE: Thread for task 1-read-xml-0.6 failed
org.openstreetmap.osmosis.core.OsmosisRuntimeException: Unable to execute statement.
at org.openstreetmap.osmosis.core.pgsql.common.DatabaseContext.executeStatement(DatabaseContext.java:106)
at org.openstreetmap.osmosis.core.pgsql.v0_6.PostgreSqlWriter.initialize(PostgreSqlWriter.java:281)
at org.openstreetmap.osmosis.core.pgsql.v0_6.PostgreSqlWriter.process(PostgreSqlWriter.java:902)
at org.openstreetmap.osmosis.core.xml.v0_6.impl.BoundElementProcessor.end(BoundElementProcessor.java:85)
at org.openstreetmap.osmosis.core.xml.v0_6.impl.OsmHandler.endElement(OsmHandler.java:108)
at com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.endElement(Unknown Source)
at com.sun.org.apache.xerces.internal.parsers.AbstractXMLDocumentParser.emptyElement(Unknown Source)
at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanStartElement(Unknown Source)
at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl$FragmentContentDriver.next(Unknown Source)
at com.sun.org.apache.xerces.internal.impl.XMLDocumentScannerImpl.next(Unknown Source)
at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanDocument(Unknown Source)
at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(Unknown Source)
at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(Unknown Source)
at com.sun.org.apache.xerces.internal.parsers.XMLParser.parse(Unknown Source)
at com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.parse(Unknown Source)
at com.sun.org.apache.xerces.internal.jaxp.SAXParserImpl$JAXPSAXParser.parse(Unknown Source)
at javax.xml.parsers.SAXParser.parse(Unknown Source)
at javax.xml.parsers.SAXParser.parse(Unknown Source)
at org.openstreetmap.osmosis.core.xml.v0_6.XmlReader.run(XmlReader.java:108)
at java.lang.Thread.run(Unknown Source)
Caused by: org.postgresql.util.PSQLException: ERROR: constraint "pk_users" of relation "users" does not exist
at org.postgresql.core.v3.QueryExecutorImpl.receiveErrorResponse(QueryExecutorImpl.java:2062)
at org.postgresql.core.v3.QueryExecutorImpl.processResults(QueryExecutorImpl.java:1795)
at org.postgresql.core.v3.QueryExecutorImpl.execute(QueryExecutorImpl.java:257)
at org.postgresql.jdbc2.AbstractJdbc2Statement.execute(AbstractJdbc2Statement.java:479)
at org.postgresql.jdbc2.AbstractJdbc2Statement.executeWithFlags(AbstractJdbc2Statement.java:353)
at org.postgresql.jdbc2.AbstractJdbc2Statement.execute(AbstractJdbc2Statement.java:345)
at org.openstreetmap.osmosis.core.pgsql.common.DatabaseContext.executeStatement(DatabaseContext.java:103)
... 19 more
27.09.2009 3:20:53 org.openstreetmap.osmosis.core.Osmosis main
SEVERE: Execution aborted.
org.openstreetmap.osmosis.core.OsmosisRuntimeException: One or more tasks failed.
at org.openstreetmap.osmosis.core.pipeline.common.Pipeline.waitForCompletion(Pipeline.java:146)
at org.openstreetmap.osmosis.core.Osmosis.run(Osmosis.java:85)
at org.openstreetmap.osmosis.core.Osmosis.main(Osmosis.java:30)
C:\temp>pause
Для продолжения нажмите любую клавишу . . .
Если запустить без validateSchemaVersion=no, то вообще вот такая фигня:
C:\temp>osmosis --read-xml-0.6 file="T:\planet-090916.osm" --write-pgsql-0.6 host="localhost" database="newdb" user="postgres" password="qwerty"
27.09.2009 3:23:22 org.openstreetmap.osmosis.core.Osmosis run
INFO: Osmosis Version 0.31
27.09.2009 3:23:22 org.openstreetmap.osmosis.core.Osmosis run
INFO: Preparing pipeline.
27.09.2009 3:23:22 org.openstreetmap.osmosis.core.Osmosis run
INFO: Launching pipeline execution.
27.09.2009 3:23:22 org.openstreetmap.osmosis.core.Osmosis run
INFO: Pipeline executing, waiting for completion.
27.09.2009 3:23:22 org.openstreetmap.osmosis.core.pipeline.common.ActiveTaskManager waitForCompletion
SEVERE: Thread for task 1-read-xml-0.6 failed
org.openstreetmap.osmosis.core.OsmosisRuntimeException: Unable to read the schema version from the schema info table.
at org.openstreetmap.osmosis.core.pgsql.common.SchemaVersionValidator.validateDBVersion(SchemaVersionValidator.java:92)
at org.openstreetmap.osmosis.core.pgsql.common.SchemaVersionValidator.validateVersion(SchemaVersionValidator.java:52)
at org.openstreetmap.osmosis.core.pgsql.v0_6.PostgreSqlWriter.initialize(PostgreSqlWriter.java:242)
at org.openstreetmap.osmosis.core.pgsql.v0_6.PostgreSqlWriter.process(PostgreSqlWriter.java:902)
at org.openstreetmap.osmosis.core.xml.v0_6.impl.BoundElementProcessor.end(BoundElementProcessor.java:85)
at org.openstreetmap.osmosis.core.xml.v0_6.impl.OsmHandler.endElement(OsmHandler.java:108)
at com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.endElement(Unknown Source)
at com.sun.org.apache.xerces.internal.parsers.AbstractXMLDocumentParser.emptyElement(Unknown Source)
at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanStartElement(Unknown Source)
at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl$FragmentContentDriver.next(Unknown Source)
at com.sun.org.apache.xerces.internal.impl.XMLDocumentScannerImpl.next(Unknown Source)
at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanDocument(Unknown Source)
at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(Unknown Source)
at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(Unknown Source)
at com.sun.org.apache.xerces.internal.parsers.XMLParser.parse(Unknown Source)
at com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.parse(Unknown Source)
at com.sun.org.apache.xerces.internal.jaxp.SAXParserImpl$JAXPSAXParser.parse(Unknown Source)
at javax.xml.parsers.SAXParser.parse(Unknown Source)
at javax.xml.parsers.SAXParser.parse(Unknown Source)
at org.openstreetmap.osmosis.core.xml.v0_6.XmlReader.run(XmlReader.java:108)
at java.lang.Thread.run(Unknown Source)
Caused by: org.postgresql.util.PSQLException: ERROR: relation "schema_info" does not exist
╧ючшЎш : 21
at org.postgresql.core.v3.QueryExecutorImpl.receiveErrorResponse(QueryExecutorImpl.java:2062)
at org.postgresql.core.v3.QueryExecutorImpl.processResults(QueryExecutorImpl.java:1795)
at org.postgresql.core.v3.QueryExecutorImpl.execute(QueryExecutorImpl.java:257)
at org.postgresql.jdbc2.AbstractJdbc2Statement.execute(AbstractJdbc2Statement.java:479)
at org.postgresql.jdbc2.AbstractJdbc2Statement.executeWithFlags(AbstractJdbc2Statement.java:353)
at org.postgresql.jdbc2.AbstractJdbc2Statement.executeQuery(AbstractJdbc2Statement.java:252)
at org.openstreetmap.osmosis.core.pgsql.common.SchemaVersionValidator.validateDBVersion(SchemaVersionValidator.java:73)
... 20 more
27.09.2009 3:23:22 org.openstreetmap.osmosis.core.Osmosis main
SEVERE: Execution aborted.
org.openstreetmap.osmosis.core.OsmosisRuntimeException: One or more tasks failed.
at org.openstreetmap.osmosis.core.pipeline.common.Pipeline.waitForComple
tion(Pipeline.java:146)
at org.openstreetmap.osmosis.core.Osmosis.run(Osmosis.java:85)
at org.openstreetmap.osmosis.core.Osmosis.main(Osmosis.java:30)
C:\temp>pause
Для продолжения нажмите любую клавишу . . .
Почему такое происходит? Чего это за “pk_users” и “schema_info” такие и что с ними не так? Может базу собрал не правильно?