Using Vbulletin’s Impex Import System With Newer Versions of MySQL

If you are moving a forum to Vbulletin or, like me, need to move an existing Vbulletin install around, then you might end up using Vbulletin’s “impex”.

Impex is an import system that allows you to import users, posts etc., from a very large number of bulletin board and forum software into Vbulletin.

To save your sanity – remove the CMS / Forum software importers that you won’t be using from:

/impex/systems

I was using Vbulletin to Vbulletin so I nuked all the others – if you don’t you’ll end up with a confusing mess

For some bizarre reason the code in the index.php makes reference to some SQL that will not work with MySQL 5.*

So you’ll get a rather unhelpful error message like this:

 

ImpEx Database error

mysql error: Invalid SQL: CREATE TABLE impexerror (
errorid bigint(20) unsigned NOT NULL auto_increment,
errortype varchar(10) NOT NULL default ”,
classnumber varchar(3) NOT NULL default ”,
importid bigint(20) NOT NULL default 0,
error varchar(250) default ‘NULL’,
remedy varchar(250) default ‘NULL’,
PRIMARY KEY (errorid)
) TYPE=MyISAM

mysql error: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ‘TYPE=MyISAM’ at line 9

mysql error number: 1064

So you need to open up your index.php and make one minor edit.

Around line 270 you should see:

 $error_table = “CREATE TABLE {$impexconfig[‘target’][‘tableprefix’]}impexerror (
errorid bigint(20) unsigned NOT NULL auto_increment,
errortype varchar(10) NOT NULL default ”,
classnumber varchar(3) NOT NULL default ”,
importid bigint(20) NOT NULL default 0,
error varchar(250) default ‘NULL’,
remedy varchar(250) default ‘NULL’,
PRIMARY KEY (errorid)
) TYPE=MyISAM”;

The last bit of that uses “TYPE” which is no longer valid. You need to switch it to “ENGINE”

So you should end up with:

 $error_table = “CREATE TABLE {$impexconfig[‘target’][‘tableprefix’]}impexerror (
                                                errorid bigint(20) unsigned NOT NULL auto_increment,
                                                errortype varchar(10) NOT NULL default ”,
                                                classnumber varchar(3) NOT NULL default ”,
                                                importid bigint(20) NOT NULL default 0,
                                                error varchar(250) default ‘NULL’,
                                                remedy varchar(250) default ‘NULL’,
                                                PRIMARY KEY (errorid)
                                        ) ENGINE=MyISAM”;

 

You’ll now be able to run impex 🙂

 

By Michele Neylon

Michele is founder and CEO of Irish hosting provider and domain name registrar Blacknight.

4 comments

  1. F**K IMPEX. It’s a horrible piece of garbage.
    Thanks for making it suck just a slight bit less.

Leave a comment

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.

Exit mobile version