I'm trying to import OSM data into MySQL and get stuck at this error. Below is the full output. This is a Windows 7 x64 machine with a fresh MySQL install. I just created a database named osm and nothing more. Then, I executed this command:

osmosis --read-pbf D:\osm\germany.osm.pbf --write-apidb dbType=mysql host=localhost database=osm user=root password=xxx

And I get the following output:

okt 09, 2012 10:13:44 PM org.openstreetmap.osmosis.core.Osmosis run
INFO: Osmosis Version 0.41
okt 09, 2012 10:13:44 PM org.openstreetmap.osmosis.core.Osmosis run
INFO: Preparing pipeline.
okt 09, 2012 10:13:44 PM org.openstreetmap.osmosis.core.Osmosis run
INFO: Launching pipeline execution.
okt 09, 2012 10:13:44 PM org.openstreetmap.osmosis.core.Osmosis run
INFO: Pipeline executing, waiting for completion.
okt 09, 2012 10:13:44 PM org.openstreetmap.osmosis.core.pipeline.common.ActiveTaskManager waitForCompletion
SEVERE: Thread for task 1-read-pbf failed
org.openstreetmap.osmosis.core.OsmosisRuntimeException: Unable to create resultset.
        at org.openstreetmap.osmosis.apidb.common.DatabaseContext.executeQuery(DatabaseContext.java:429)
        at org.openstreetmap.osmosis.apidb.v0_6.impl.SchemaVersionValidator.validateDBVersion(SchemaVersionValidator.java:82)
        at org.openstreetmap.osmosis.apidb.v0_6.impl.SchemaVersionValidator.validateVersion(SchemaVersionValidator.java:55)
        at org.openstreetmap.osmosis.apidb.v0_6.ApidbWriter.initialize(ApidbWriter.java:324)
        at org.openstreetmap.osmosis.apidb.v0_6.ApidbWriter.process(ApidbWriter.java:1089)
        at crosby.binary.osmosis.OsmosisBinaryParser.parse(OsmosisBinaryParser.java:247)
        at crosby.binary.BinaryParser.handleBlock(BinaryParser.java:64)
        at crosby.binary.file.FileBlock.process(FileBlock.java:135)
        at crosby.binary.file.BlockInputStream.process(BlockInputStream.java:34)
        at crosby.binary.osmosis.OsmosisReader.run(OsmosisReader.java:45)
        at java.lang.Thread.run(Unknown Source)
Caused by: com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: Table 'osm.schema_migrations' doesn't exist
        at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
        at sun.reflect.NativeConstructorAccessorImpl.newInstance(Unknown Source)
        at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(Unknown Source)
        at java.lang.reflect.Constructor.newInstance(Unknown Source)
        at com.mysql.jdbc.Util.handleNewInstance(Util.java:411)
        at com.mysql.jdbc.Util.getInstance(Util.java:386)
        at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:1052)
        at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3609)
        at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3541)
        at com.mysql.jdbc.MysqlIO.sendCommand(MysqlIO.java:2002)
        at com.mysql.jdbc.MysqlIO.sqlQueryDirect(MysqlIO.java:2163)
        at com.mysql.jdbc.ConnectionImpl.execSQL(ConnectionImpl.java:2618)
        at com.mysql.jdbc.ConnectionImpl.execSQL(ConnectionImpl.java:2568)
        at com.mysql.jdbc.StatementImpl.executeQuery(StatementImpl.java:1557)
        at org.openstreetmap.osmosis.apidb.common.DatabaseContext.executeQuery(DatabaseContext.java:424)
        ... 10 more

okt 09, 2012 10:13:44 PM 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:92)
        at org.openstreetmap.osmosis.core.Osmosis.main(Osmosis.java:37)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
        at java.lang.reflect.Method.invoke(Unknown Source)
        at org.codehaus.plexus.classworlds.launcher.Launcher.launchStandard(Launcher.java:329)
        at org.codehaus.plexus.classworlds.launcher.Launcher.launch(Launcher.java:239)
        at org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode(Launcher.java:409)
        at org.codehaus.plexus.classworlds.launcher.Launcher.main(Launcher.java:352)
        at org.codehaus.classworlds.Launcher.main(Launcher.java:47)

What did I do wrong, and what should I do?

asked 09 Oct '12, 21:18

thany's gravatar image

thany
11112
accept rate: 0%


I believe you need to populate the database with a schema before doing the import i.e. create appropriate tables containing appropriate fields

It looks like support for MySQL may go away at some point as Openstreetmaps is moving to PostgreSQL, so you may be better off starting with PostgreSQL anyhow.

permanent link

answered 17 Oct '12, 21:16

porjo's gravatar image

porjo
18326
accept rate: 0%

The thing is, Postgres doesn't do very well on Windows, but Windows is the most used OS out there (whether we like it or not). I do have a linux box that I can try it on, but it's not nearly as powerful as my windows box.

Even for Portgres, the documentation is not clear on how to populate the database initially. I'm not sure what exactly to do at that point. Partly because I'm not familiar at all with Postgres (I have literally never used it), and partly because it's just not very clear to me what needs to be done exactly.

(17 Oct '12, 23:11) thany

Never used it myself, but a bit of poking on the wiki revealed that there should be something to generate the database structure in a directory named "script/contrib" with your osmosis download.

See: http://wiki.openstreetmap.org/wiki/Osmosis#DB_Schema

(17 Oct '12, 23:45) cartinus
Your answer
toggle preview

Follow this question

By Email:

Once you sign in you will be able to subscribe for any updates here

By RSS:

Answers

Answers and Comments

Markdown Basics

  • *italic* or _italic_
  • **bold** or __bold__
  • link:[text](http://url.com/ "title")
  • image?![alt text](/path/img.jpg "title")
  • numbered list: 1. Foo 2. Bar
  • to add a line break simply add two spaces to where you would like the new line to be.
  • basic HTML tags are also supported

Question tags:

×188
×21

question asked: 09 Oct '12, 21:18

question was seen: 5,654 times

last updated: 17 Oct '12, 23:45

powered by OSQA