.com Solutions Inc. - Logo  
support header buttons
.
FmPro Script Diffbullet 7f FmPro Migrator bullet 7f CGIScripter
.
.
.
. .

 

 


.

. .

 

...
.

support how to title image

hline f image

How to migrate FileMaker to FileMaker 7 (Windows and MacOS X)

FileMaker to FileMaker 7 Quickstart Guide PDF - for MacOS X (1.26Mb)
FileMaker to FileMaker 7 Quickstart Guide PDF - for Windows (1.23Mb)

Note: Additional information is contained within the <database>_instructions.txt file created during the file generation process. The <database>_instructions.txt file contains the actual file names created by FmPro Migrator. This document uses an example FileMaker 5 database table named "example" which is migrated to FileMaker 7. The files created for your database will use the names of the database tables in your FileMaker database.

Usage Instructions - FileMaker to FileMaker 7 on Windows
Note: FmPro Migrator for Windows requires that Perl be installed on your Windows computer before generating scripts. Activestate Perl may be downloaded from www.activestate.com.
1) Create an ODBC DSN for each FileMaker database, unless these DSNs have already been created.
2) Select FileMaker 3/4/5/6/7 as the Source Database in FmPro Migrator.
3) Enter the source FileMaker 7 database ODBC DSN, username, and password info the fields provided on the FileMaker tab.
4) Create a new test database in FileMaker 7, or open an existing database file. Enable the ODBC/JDBC Sharing Companion for this FileMaker database. Your migrated FileMaker 7 tables will be created within this new database.
5) Enter the FileMaker 7 ODBC DSN, username, and password on the FileMaker tab. Make sure that the ODBC/JDBC Sharing Companion is enabled for the FileMaker 7 database. Each ODBC DSN entered on the FileMaker tab is passed through to the created scripts as entered on the FileMaker tab of FmPro Migrator. Note: The default "Admin" account created for a new FileMaker 7 database is already configured with ODBC/JDBC access privileges. If you use another account, insure that ODBC/JDBC access privileges have been granted to the account.
6) Select or create the destination directory for the migration files which will be generated by FmPro Migrator.
7) Save the configuration information by selecting Save As from the File menu.
8) After configuring the FileMaker ODBC DSN for the source FileMaker 7 database, press the Refresh button in FmPro Migrator.
Note: If any FileMaker 7 database names contain spaces, these should be removed before processing the file.
9) Press the Migrate button to generate the migration scripts and database documentation files.
10) Install the Perl DBI, DBD::ODBC modules on the Windows server along with the FileMaker ODBC Driver. The installer for the FileMaker ODBC Driver is located within the ODBC Client Driver Installer folder within the xDBC folder on the FileMaker installer CD. (The DBI/DBD::ODBC modules can be downloaded from www.cpan.org) or installed with Activestate PPM. Install commands follow:
ppm
PPM> install DBI
PPM> install DBD-ODBC
PPM> quit

11) Run the example_create_table1.pl Perl script to create the new database table in the FileMaker 7 database. Note: If FileMaker 7 is the source database, please see the troubleshooting section for info about working with Container fields and the configuration of NULL/NOT NULL attributes for each field.
12) After creating the new FileMaker 7 database table it is necessary to create a layout for the new table. A FileMaker layout is not created automatically when creating a database table through an ODBC connection. Make sure that you are viewing this new layout in browse mode when importing data into the new database table in the next step.
13) When performing a FileMaker to FileMaker 7 migration, the data is imported into the new FileMaker 7 database table with the Import Records feature within FileMaker 7. If a FileMaker 7 file is being migrated to FileMaker 7, the source FileMaker 7 database file may be used as the source for importing records into the new FileMaker 7 database table.
If a prior version of FileMaker is being migrated into a FileMaker 7 file, the original file should be converted into the FileMaker 7 format. Then the converted FileMaker 7 file may be imported into the new database table which has been created within the destination FileMaker 7 database file.
14) Use the information within the Fields tab of the Define Database window of the converted database file to copy the calculation field formulas between databases. Carefully test each formula to determine if any field name changes or new FileMaker 7 formula features will invalidate each formula.
15) Use the Relationships tab of the Define Database window to define relationships between database tables.

Usage Instructions - FileMaker to FileMaker 7 on MacOS X
Note: FmPro Migrator for MacOS X uses AppleScript to query the source FileMaker database in order to obtain database structure information. Migration scripts are created for migrating to FileMaker 7, and these scripts will need to be run on a Windows computer (or Virtual PC on MacOS X) due to the need for a FileMaker ODBC driver.
1) Select FileMaker 3/4/5/6/7 as the Source Database on the FileMaker tab within FmPro Migrator.
2) For FileMaker 7 to FileMaker 7 migrations, enter the source FileMaker 7 database ODBC DSN, username, and password info the fields provided on the FileMaker tab.
For FileMaker 3/4/5/6 to FileMaker 7 migrations a default ODBC DSN name of example_fmp_dsn is used for the source database within the generated migration scripts.
3) Enter the name which will be used for the FileMaker 7 ODBC DSN, username, and password on the FileMaker tab. Note: The default "Admin" account created for a new FileMaker 7 database is already configured with ODBC/JDBC access privileges. If you use another account, insure that ODBC/JDBC access privileges have been granted to the account.
4) Select or create the destination directory for the migration files which will be generated by FmPro Migrator.
5) Save the configuration information by selecting Save As from the File menu.
6) Press the Migrate button to generate the migration scripts and database documentation files. Note: Migration files will be generated for each table within the first FileMaker 7 database. This behavior is different from the way FmPro Migrator migrates FileMaker 3/4/5/6 databases. This change in behavior means that FileMaker 7 databases are migrated one at a time instead of migrating up to 50 open database files. This change insures that generated output files will not be accidently overwritten if two separate FileMaker 7 database files contain database tables with the same name.
7) Copy the generated migration files to a Windows PC (or a directory which can be accessed by Virtual PC on MacOS X).
8) Create an ODBC DSN in the Windows ODBC control panel for each FileMaker database, unless these DSNs have already been created.
9) Install FileMaker 7 and the FileMaker ODBC driver on Windows (or within Virtual PC). Each FileMaker 7 CD includes both MacOS X and Windows versions of the FileMaker 7 database application.
10) Create a new test database in FileMaker 7 (on Windows or Virtual PC), or open an existing database file. Enable the ODBC/JDBC Sharing Companion for this FileMaker database, after making sure that the Remote/Local Data Access Companions are disabled within any older versions of FileMaker running on the same computer. Your migrated FileMaker 7 tables will be created within this new database. Note: Unlike previous versions of FileMaker on Windows, the ODBC driver for FileMaker 7 is no longer able to connect with a FileMaker database running on a different computer. All ODBC connections must be made to IP address 127.0.0.1, therefore the FileMaker 7 database must be running on the same computer as the migration scripts.
11) Install Activestate Perl (www.activestate.com), the Perl DBI, DBD::ODBC modules on the Windows PC (or Virtual PC on MacOS X) along with the FileMaker ODBC Driver. The installer for the FileMaker ODBC Driver is located within the ODBC Client Driver Installer folder within the xDBC folder on the FileMaker installer CD. (The DBI/DBD::ODBC modules can be downloaded from www.cpan.org) or installed with Activestate PPM. Install commands follow:
ppm
PPM> install DBI
PPM> install DBD-ODBC
PPM> quit

12) Run the example_create_table1.pl Perl script to create the new database table in the FileMaker 7 database.
13) After creating the new FileMaker 7 database table it is necessary to create a layout for the new table. A FileMaker layout is not created automatically when creating a database table through an ODBC connection. Make sure that you are viewing this new layout in browse mode when importing data into the new database table in the next step.
14A) If the source database is a FileMaker 7 database file, you can directly import the data from a FileMaker 7 database file by using the Import Records menu item in the File menu. Select FileMaker Pro as the type of file you will be importing.
14B) If the source databases is a FileMaker 3/4/5/6 database, then convert the older FileMaker database file into a FileMaker 7 database file before importing the data.
15) Use the information within the example_report_fmp file to copy the calculation field formulas between databases. Carefully test each formula to determine if any field name changes or new FileMaker 7 formula features will invalidate each formula.
16) Use the Relationships tab of the Define Database window to define relationships between database tables.


FileMaker Folder Tab - Field Descriptions
The FileMaker folder tab enables the entry of general info and FileMaker specific info about the migration process.

Click the Browse button to select an existing folder which will contain the migration scripts and reports created by FmPro Migrator. You must have write access to the output directory selected, otherwise an error dialog will be displayed.

Source Database ODBC DSN - Enter the ODBC DSN name for the FileMaker 7 database and select your FileMaker database version from the Destination Database menu prior to pressing the Refresh button. All of the FileMaker 7 database tables within the FileMaker database will appear in the Open Databases field. There needs to be at least one database table available for the migration process to be performed. This information is utilized within the generated migration scripts.

Source Database Username - field - If the FileMaker 7 database requires a username in order to access the data, enter a username in this field which allows access to all of the database tables within the FileMaker 7 database file. This information is utilized within the generated migration scripts.

Source Database Password - field - If the FileMaker 7 database requires a password in order to access the data, enter a password in this field which allows access to all of the database tables within the FileMaker 7 database file. This information is utilized within the generated migration scripts.

Destination Database ODBC DSN - field - Enter the FileMaker 7 database ODBC DSN within this field. This information is utilized within the generated migration scripts.

Destination Database - menu - Select FileMaker 7 as the database which will be the destination for the data.

Destination Database Username - field - The default username for a new FileMaker 7 database is "Admin", therefore this default value is automatically entered into this field whenever FileMaker 7 is selected as the destination database. Enter a different username in this field if a different account is to be used to create and access data within the FileMaker database. The username entered into this field needs to have the extended ODBC/JDBC privilege within FileMaker. The default Admin account is automatically granted this extended privilege when the FileMaker 7 database is created. This information is utilized within the generated migration scripts.

Destination Database Password - field - If the FileMaker database requires a password in order to access the data, enter a password in this field which allows access to all of the database tables within the FileMaker database. The default password for the FileMaker 7 "Admin" account is blank. This information is utilized within the generated migration scripts.

Large Text Fields - field - FileMaker 3/4/5/6 text fields are automatically converted to VARCHAR(64000) columns within a FileMaker 7 database. FileMaker 7 text fields are converted to VARCHAR(1000000) columns within a destination FileMaker 7 database. Therefore the Large Text Fields field does not require the entry of any information when performing FileMaker to FileMaker 7 migrations. This field can be used simply to designate certain columns which may need to grow more than the default of 64000 characters.

Path to Perl - This field contains the path to the Perl executable application for UNIX/Mac OS X servers. In most cases, no change will be needed to this field because the Windows servers will use the ".pl" extension in order to associate Perl.exe with each Perl script.

Usage Notes


Time Fields
When FmPro Migrator uses an ODBC connection to retrieve field type info from FileMaker databases, it is not possible to automatically determine whether the destination field should be created as a date or time field. Therefore FmPro Migrator assigns the field type as a time field if the text "time" is contained within the field name. Otherwise the field type is assigned to be a FileMaker date format field. If a field is mistakenly assigned to be a time format field by FmPro Migrator, then this automated behavior can be overridden by simply changing the name of the field in Access so that the text "time" does not appear within the field name.

Large Text Fields
FileMaker 3/4/5/6 text fields are automatically converted to VARCHAR(64000) columns within a FileMaker 7 database. FileMaker 7 text fields are converted to VARCHAR(1000000) columns within a destination FileMaker 7 database. Therefore the Large Text Fields field does not require the entry of any information when performing FileMaker to FileMaker 7 migrations.

ODBC driver and client software installation
The best way to transfer data within FileMaker text and container fields is by using the example_fmpro_to_fmpro_xfer_odbc1.pl program. This program is generated by FmPro Migrator based upon the specified source database table structure in order to facilitate the transfer of data to FileMaker 7.
The example_fmpro_to_fmpro_xfer_odbc1.pl program transfers data for all FileMaker field types including text fields up to 1000000 bytes and image data from container fields. The program makes use of bind variables to specify field names and ODBC field types. The example_fmpro_to_fmpro_xfer_odbc1.pl program needs to be run on a Windows computer which has Perl, the Perl DBI module, the Perl DBD::ODBC module, and FileMaker 7 ODBC driver software installed. The example_fmpro_to_fmpro_xfer_odbc1.pl script will then read the data from the source FileMaker database and then write that data into a FileMaker 7 database running on the same computer. The FileMaker 7 database needs to be running on the same computer which is running the example_fmpro_to_fmpro_xfer_odbc1.pl script if FileMaker Pro 7 is being used. If FileMaker 7 Server is being used, the database may be located on a different computer and accessed thru the network.

Container Fields
FileMaker uses container fields for storing binary data such as pictures, sounds and movies. Data located within container fields is transferred to FileMaker 7 container fields (BLOB column type).

FileMaker Pro 7 vs FileMaker Advanced Server 7 and ODBC
FileMaker Pro 7 enables ODBC/JDBC access only for programs running on the same computer as the FileMaker Pro 7 database. The driver is configured with hostname "localhost" or IP address 127.0.0.1 within the DataDirect SequeLink ODBC driver DSN for a individual FileMaker database. The default TCP/IP port number used for the DataDirect SequeLink server is 2399.
FileMaker 7 Advanced Server allows ODBC/JDBC network connections from other computers on a network, depending upon the security which has been configured within the database.

Report Differences
FmPro Migrator for Windows generates a slightly different database report compared to FmPro Migrator for MacOS X. FmPro Migrator for Windows utilizes a ODBC connection to the FileMaker database since AppleScript is not available for Windows. The only information available about the database thru an ODBC connection is:
The Name of the Database
The List of Field Names
The Type of each Field
The Empty Ok attribute for each Field

The following information listed on the report consists of default values used to fill in the report:
Field IDs (always an incrementing value)
Unique Values (always set to Not Unique)
Repeating Values (always set to No)
Global Values (always set to No)
Access Status for each field (always set to read/write)
Protection Status for each field (always set to formulas/protected)
Calculation for each field (always blank)
Script Names (none listed)
Layout Names (only 1 listed - named All Fields, containing all fields)

Troubleshooting

[DataDirect][ODBC SequeLink driver][ODBC Socket][DataDirect][ODBC FileMaker driver][FileMaker]database schema is locked by another user (303) (SQL-HY000) [DataDirect][ODBC SequeLink driver][ODBC Socket][DataDirect][ODBC FileMaker driver][FileMaker]Query Failed (SQL-HY000)(DBD: st_execute/SQLExecute err=-1) at example_create_table1.pl line 64.

Solution: This error occurs if the example_create_table1.pl Perl program is being run to create the FileMaker 7 database table while the Define Database window is open. Clicking either the Ok or Cancel buttons will close the Define Database window and prevent this error from occurring.

[DataDirect][ODBC SequeLink driver][ODBC Socket][DataDirect][ODBC FileMaker driver][FileMaker]duplicate name (12) (SQL-HY000) [DataDirect][ODBC SequeLink driver][ODBC Socket][DataDirect][ODBC FileMaker driver][FileMaker]Query Failed (SQL-HY000)(DBD: st_execute/SQLExecute err=-1) at example_create_table1.pl line 64.

Solution: This error occurs if the FileMaker database table example already exists within either the FileMaker Define Database Tables window or the Define Database Relationships window. Delete the example table from both of these locations, and then run the example_create_table1.pl program again.

[Windows only issue] When performing a FileMaker 7 to FileMaker 7 migration, FileMaker container fields are migrated as text fields and every field is set to require "Not Empty" data validation. This occurs when FileMaker 7.0v1 on Windows is used as the source of the migration in FmPro Migrator.

FmPro Migrator for Windows makes an ODBC connection to the FileMaker database which is being migrated in order to obtain database structure information. When FileMaker 7 is used as the source of the migration, the data types returned from the ODBC driver report that Container fields are text fields and that all fields are "NOT NULL" fields. There are two solutions to this issue:
Solution1: If a version of the database file is available within the FileMaker 3/4/5/6 format, then use the older version of the file as the source of the migration for FmPro Migrator. Versions of the FileMaker ODBC driver prior to FileMaker 7 do not display this behavior. FmPro Migrator will query the database and obtain the correct data types and NULL/NOT NULL status for creating the example_create_table1.pl file. Use of the older database file is only required when creating the migration scripts. After the scripts have been created, use the FileMaker 7 version of the file for the actual import of the data into the new FileMaker 7 database table.
Solution2: If an older version of the source database file is not available, then use FmPro Migrator to create the migration scripts from the FileMaker 7 source database file. Then make changes to the field types and validation settings within the Define Database Fields window prior to importing the data into the new FileMaker 7 database table. Depending upon the number of fields which are contained within the source database file, it may be more efficient to update the create table SQL commands within the example_create_table1.pl file prior to creating the new FileMaker 7 table. To make these change manually, change the VARCHAR(1000000) field types to BLOB for each of the container fields. Then perform a search and replace within a text editor to change all "NOT NULL" text to "NULL". It is likely that very few database fields will require "NOT NULL" validation so these few fields can be updated manually.

The example_fmpro_to_fmpro_xfer_odbc21.pl file is not created when performing a FileMaker to FileMaker 7 migration.

Solution: When performing a FileMaker to FileMaker 7 migration, the example_fmpro_to_fmpro_xfer_odbc21.pl file is not required for the data migration phase of the migration process. If a FileMaker 7 file is being migrated to FileMaker 7, the source FileMaker 7 database file may be used as the source for importing records into the new FileMaker 7 database table.
If a prior version of FileMaker is being migrated into a FileMaker 7 file, the original file should be converted into the FileMaker 7 format. Then the converted FileMaker 7 file may be imported into the new database table which has been created within the destination FileMaker 7 file.

[DataDirect][ODBC SequeLink driver][SequeLink Client]Network problem, connection unexpectedly closed by peer (SQL-HY000)(DBD: db_login/SQLConnect err=-1)

Solution: This error may indicate that FileMaker 7 ODBC/JDBC file sharing is enabled at the same time an older FileMaker database is also attempting to share a file with the Local/Remote Data Access Companions. Only one FileMaker application can have ODBC file sharing turned on at the same time on the same computer or they will interfere with each other. Turn off sharing for one of the databases in order to resolve this issue.

FmPro Migrator attempts to generate migration scripts, but the "Generating Scripts" dialog box never disappears.

Solution: Database tables which contain no fields may cause this symptom with FmPro Migrator for Windows. There is no reason to try migrating a database table containing 0 fields, so delete the table and the reference to the table in the Define Database Relationship window of FileMaker 7.

Error: Can't call method "execute" on an undefined value at example_create_table1.pl line 100.

Solution: There are multiple reasons why this error may occur. One reason is that there is a FileMaker reserved word or illegal name being used as a column name. FmPro Migrator contains a pre-defined list of FileMaker SQL reserved words. Column names which are found to consist of these words are renamed by FmPro Migrator by appending the "_" character at the end of the column name. If additional reserved words need to be added to this list, please send an email to .com Solutions Inc. with your additions so that they may be added to future revisions of FmPro Migrator.
This error may also occur due to almost any type of SQL syntax error within the CREATE TABLE SQL statement. Using incorrectly spelled column types, omitting a comma at the end of each statement line or having a comma at the end of the very last line of the SQL code will cause these errors. These types of errors generally occur after manually editing the CREATE TABLE SQL statements. If the number of edits have been minimal, it may be easier to regenerate the script again with FmPro Migrator, then manually re-edit the file.
FileMaker 7 column names created via an ODBC connection to the database cannot start with a number or an underscore "_" character, and these conditions will also result in this error being displayed.

DataDirect][ODBC SequeLink driver][ODBC Socket][DataDirect][ODBC FileMaker driver][FileMaker]Cannot Create Table (SQL-HY000) [DataDirect][ODBC SequeLink driver][ODBC Socket][DataDirect][ODBC FileMaker driver][FileMaker]Query Failed (SQL-HY000)(DBD:st_execute/SQLExecute err=-1) at example_create_table1.pl line 832.

Solution: This error message is displayed whenever an attempt is made to create a duplicate column name within the FileMaker database through an ODBC connection. During the generation of the list of column names, FmPro Migrator removes illegal SQL characters and replaces spaces with underscore characters. This renaming process guarantees that column names will be valid within any SQL statements, compatible with web publishing and compatible when sharing data with other applications. However duplicate column names may occur as a result of this renaming process. FileMaker 7 and its associated ODBC driver do not report the name of the duplicate column name which is contained within the CREATE TABLE SQL statement. Generally it will be necessary to look through the column names listed in the CREATE TABLE SQL statement in order to determine which column is duplicated. Another option is to look through the list of columns within the original FileMaker database, make the changes within the original database, then regenerate the example_create_table1.pl file with FmPro Migrator.

[DataDirect][ODBC SequeLink driver][ODBC Socket][DataDirect][ODBC FileMaker driver][FileMaker]Maximum number of columns in a table is 1024 (SQL-HY000) [DataDirect][ODBC SequeLink driver][ODBC Socket][DataDirect][ODBC FileMaker driver][FileMaker]Query Failed (SQL-HY000)(DBD: st_execute/SQLExecute err=-1) at example_create_table1.pl line 1366.

This error is the result of having too many columns within the CREATE TABLE SQL statement. This error only occurs when attempting to create a FileMaker 7 database table through an ODBC connection to the FileMaker database. There are several solutions to this problem.
Solution1: One solution is to replace global fields with the new FileMaker 7 script variable feature. This one change will often result in reducing the field count below the 1024 maximum. It is recommended that you make a copy of your original database, delete all of the global fields, then create migration scripts with FmPro Migrator. Then you will be able to move the structure of the database into FileMaker 7 and import your data into the new FileMaker 7 table.
Solution2: The best (but most time consuming) solution to this problem is to redesign the database structure using a more relational database structure. Related information should be separated into different database tables instead of putting all of the info into one single large table. Information can be joined together for reporting purposes by grouping as many fields as necessary onto a report layout. Once again you would do the design work in the older version of FileMaker, then use FmPro Migrator to generate the table creation scripts for the new FileMaker 7 database tables.
Solution3: The least desirable solution from a database design standpoint is to simply keep the design exactly the same, but add additional columns manually. The 1024 column limit is only enforced by FileMaker 7 when issuing a CREATE TABLE SQL statement through an ODBC connection to the database. If the number of additional columns is small, you can manually add additional columns beyond the 1024 limit within the Define Database/Tables window. To implement this solution a copy should be made of the original FileMaker database file. Then remove all fields after the first 1024 fields. Use FmPro Migrator to generate the example_create_table1.pl file, then create the new FileMaker 7 database table with this script. Add the additional columns manually within the Define Database/Tables window.

Error: FmPro Migrator doesn't complete generating scripts for a FileMaker 7 database, with the "Generating Scripts" window continuing to be displayed on the screen.

Solution: This error may occur when generating scripts for a FileMaker database table which contains 0 fields. There is no reason to migrate a database table containing 0 fields, so any tables of this type should be deleted from the FileMaker database prior to generating migration scripts.

[MacOS X only issue] FmPro Migrator gives a prompt requesting that the FileMaker application be selected, even though the FileMaker application name has been selected with the "Select" button on the FileMaker tab.

Solution: FmPro Migrator may fail to find the correct version of FileMaker installed on your computer if both FileMaker 6 and FileMaker 7 applications are installed on the same computer. FileMaker 7 shows up in the list of open applications seen by AppleScript commands as "FileMaker", instead of "FileMaker Pro" or "FileMaker Developer" as is the case with older versions of FileMaker. This issue can be resolved by renaming the FileMaker application on your hard drive with its actual version. So "FileMaker Pro" could then be named "FileMaker Pro 6" or "FileMaker Pro 7". Then type the actual name into the FileMaker App Name field within FmPro Migrator instead of selecting it with the "Select" button. The contents of this field will be used by the AppleScript commands to send commands to the correct version of the FileMaker database application.


hline f image

hline

. .

.

. .

 

 

 

Home | Products | Services | Downloads | Order | Support | Contact

Legal Notices

.
.   .
.
Home Products Services Downloads Order Support Contact