cancel
Showing results for 
Search instead for 
Did you mean: 

ASA 12 dbunload command line problem

Former Member
4,299

I am converting all our databases from ASA 9.0.2.3508 to ASA 12.0.1.3152.

Running the unload wizard in Sybase Central work fine and generates the following command line.

dbunload  -v -c "UID=dba;PWD=*******;DBF=C:\\databases\\asa12\\emr.db" -ac 
"UID=dba;PWD=***;DBF=C:\\databases\\asa12\\emr12_rebuild.db" -xx

Using the wizard, the process runs to completion with no errors.

When I attempt to run this manually, I get this error

***** SQL error: Unable to start specified database:
C:\\databases\\asa12\\emr12_rebuild.db was created by a different version of the software

I am prefixing the dbunload command with the correct path for ASA 12. I even tried running the command from the ASA12bin32 directory thinking that there may be some kind of pathing issue, but with no success and getting the same error.

The emr12_rebuild.db was created using the DBinit from ASA 12. We are manually creating the database ahead of time so that we can pre-allocate the space for the database and make the load faster (the datebases are all over 100 GB or larger) and not have the resulting db file be fragmented.

We would prefer to be able to this with a single batch file and not have to manually run the wizard as doing so exposes our passwords and we do not wish to do that.

Thanks

Alex

VolkerBarth
Contributor
0 Kudos

What does happen when the old and new databases are not located in the same directory?

BTW: Is there a specific reason to use -xx, i.e. an external unload. This will usually be slower than an internal one...


Just two more remarks: Build 12.0.1.3152 is the GA version. As you seem to plan the migration, I would highly recommend to use a newer 12.0.1 EBF. That may or may not have fixes to your issues.

What does happen when you start the new database from a command line, say by something like

"%SQLANY12%\\bin32\\dbeng12" -n MyEngine -o C:\\MyLog.txt C:\\databases\\asa12\\emr12_rebuild.db

Does that work, and can the database be startet? - Just to assure the command line start does work at all...

Former Member
0 Kudos

different directories resutls in same error. The -xx was added by the wizard the database can be started.

Former Member
0 Kudos

I will also experiment with just the -an option (and -ii) to see what effect that has.

Accepted Solutions (0)

Answers (1)

Answers (1)

VolkerBarth
Contributor

I guess the following quote from the DBUNLOAD utility doc does apply here - relöated to the -ac option:

If the original database was created using version 9 or earlier of SQL Anywhere and the new database is not already running, you must provide a database server name in the -ac option. For example:

dbunload -c "UID=DBA;PWD=sql;DBF=c:mydata.db" -ac "UID=DBA;PWD=sql;DBF=c:mynewdata.db;Server=newserver"

I suspect that without giving a server name, DBUNLOAD tries to load the new database on the engine it has started for the old database (which is the particular "Database Unload Support Engine" - dbunlspt.exe - a v9 database engine). And that will obviously fail for a new v10+ database.

Former Member
0 Kudos

That works.

Thank you very much!

VolkerBarth
Contributor
0 Kudos

Feel free to accept this answer...

Cf. this FAQ how to do so:)