# Modifying a Legacy BC4J Application for Foreign Datasources

Before you attempt to modify a legacy BC4J application to use a foreign datasource, you should understand the relationship between connections, SQL dialect, type maps, and domains.

As a prerequisite, your legacy BC4J application may not use any Oracle-specific SQL or object types. The SQL should match the SQL92 dialect. You should be familiar with the limitations of developing for foreign datasources. The SQL dialect in particular must match exactly.

When you change SQL dialect, the BC4J framework will automatically update the entity objects so that they will work with the newly specified connection type. View objects, on the other hand, remain unchanged. To make the legacy application work with a different database configuration, you will need to examine every view object in your project and, if necessary, change the SQL to suit the new dialect.