Index: src/com/metamatrix/modeler/internal/jdbc/ui/wizards/JdbcImportWizard.java
===================================================================
--- src/com/metamatrix/modeler/internal/jdbc/ui/wizards/JdbcImportWizard.java	(revision 780)
+++ src/com/metamatrix/modeler/internal/jdbc/ui/wizards/JdbcImportWizard.java	(working copy)
@@ -117,6 +117,7 @@
     ProcessorPack ppProcessorPack;
 
     boolean controlsHaveBeenCreated = false;
+    boolean isVirtual;
 
     private IJdbcImportPostProcessor[] postProcessors;
     
@@ -327,10 +328,18 @@
 
                         final ModelAnnotation modelAnnotation = resrc.getModelAnnotation();
                         modelAnnotation.setPrimaryMetamodelUri(RelationalPackage.eNS_URI);
-                        modelAnnotation.setModelType(ModelType.PHYSICAL_LITERAL);
+                        
+                        ModelType type = ModelType.PHYSICAL_LITERAL;
+                        
+                        isVirtual = optionsPg.isVirtual();
+                        
+                        if( isVirtual ) {
+                        	type = ModelType.VIRTUAL_LITERAL;
+                        }
+                        modelAnnotation.setModelType(type);
 
                         if (resrc instanceof ModelResourceImpl) {
-                            ((ModelResourceImpl)resrc).setModelType(ModelType.PHYSICAL_LITERAL);
+                            ((ModelResourceImpl)resrc).setModelType(type);
                         }
                         if (processor instanceof RelationalModelProcessorImpl) {
                             JdbcImportWizard.this.drDifferenceReport = ((RelationalModelProcessorImpl)processor).generateDifferenceReport(resrc,
@@ -650,10 +659,18 @@
 
                 final ModelAnnotation modelAnnotation = resrc.getModelAnnotation();
                 modelAnnotation.setPrimaryMetamodelUri(RelationalPackage.eNS_URI);
-                modelAnnotation.setModelType(ModelType.PHYSICAL_LITERAL);
+                
+                ModelType type = ModelType.PHYSICAL_LITERAL;
+                
+                this.isVirtual = this.optionsPg.isVirtual();
+                
+                if( isVirtual ) {
+                	type = ModelType.VIRTUAL_LITERAL;
+                }
+                modelAnnotation.setModelType(type);
 
                 if (resrc instanceof ModelResourceImpl) {
-                    ((ModelResourceImpl)resrc).setModelType(ModelType.PHYSICAL_LITERAL);
+                    ((ModelResourceImpl)resrc).setModelType(type);
                 }
                 // Moved this call to AFTER the MODEL TYPE has been set.
                 ModelUtilities.initializeModelContainers(resrc, "Jdbc Import", this); //$NON-NLS-1$
@@ -718,6 +735,11 @@
 
                 sWatch.stop();
                 sWatch.start(true);
+                
+                if( isVirtual ) {
+                	ppProcessorPack.getModelResource().getModelAnnotation().setModelType(ModelType.VIRTUAL_LITERAL);
+                	((ModelResourceImpl)ppProcessorPack.getModelResource()).setModelType(ModelType.VIRTUAL_LITERAL);
+        		}
 
                 // Auto save the model & refresh
                 ppProcessorPack.getModelResource().save(monitor, true);
Index: src/com/metamatrix/modeler/internal/jdbc/ui/wizards/JdbcImportOptionsPage.java
===================================================================
--- src/com/metamatrix/modeler/internal/jdbc/ui/wizards/JdbcImportOptionsPage.java	(revision 659)
+++ src/com/metamatrix/modeler/internal/jdbc/ui/wizards/JdbcImportOptionsPage.java	(working copy)
@@ -102,6 +102,7 @@
     private static final String NAME_LABEL = getString("nameLabel"); //$NON-NLS-1$
     private static final String FOLDER_LABEL = getString("folderLabel"); //$NON-NLS-1$
     private static final String UPDATE_CHECKBOX = getString("updateCheckBox"); //$NON-NLS-1$
+    private static final String VIRTUAL_MODEL_CHECKBOX = "Make target model virtual"; //getString("updateCheckBox"); //$NON-NLS-1$
     private static final String INCLUDE_GROUP = getString("includeGroup"); //$NON-NLS-1$
     private static final String MODEL_OBJECT_NAMES_GROUP = getString("modelObjectNamesGroup"); //$NON-NLS-1$
     private static final String SOURCE_OBJECT_NAMES_GROUP = getString("sourceObjectNamesGroup"); //$NON-NLS-1$
@@ -121,7 +122,8 @@
     private static final String NOT_RELATIONAL_MODEL_MESSAGE = getString("notRelationalModelMessage"); //$NON-NLS-1$
     private static final String READ_ONLY_MODEL_MESSAGE = getString("readOnlyModelMessage"); //$NON-NLS-1$
     private static final String VIRTUAL_MODEL_MESSAGE = getString("virtualModelMessage"); //$NON-NLS-1$
-
+    private static final String PHYSICAL_MODEL_MESSAGE = "The model to update is not a virtual model."; //$NON-NLS-1$
+   
     // ===========================================================================================================================
     // Static Methods
 
@@ -147,11 +149,12 @@
     private JdbcImportSettings importSettings;
     private Text nameText, folderText;
     private Button updateCheckBox, catalogCheckBox, schemaCheckBox, noneButton, uppercaseButton, lowercaseButton, emptyButton,
-                    unqualifiedButton, qualifiedButton;
+                    unqualifiedButton, qualifiedButton, virtualModelBox;
     private boolean initd;
     private IContainer folder;
     private boolean usesHiddenProject = false;
     private IFile selectedModel;
+    private boolean isVirtual = false;
 
     // ===========================================================================================================================
     // Constructors
@@ -228,6 +231,15 @@
             });
         }
 
+        this.virtualModelBox = WidgetFactory.createCheckBox(pg, VIRTUAL_MODEL_CHECKBOX, 0, COLUMN_COUNT);
+        this.virtualModelBox.addSelectionListener(new SelectionAdapter() {
+
+            public void widgetSelected(final SelectionEvent event) {
+                virtualModelBoxSelected();
+            }
+        });
+        this.virtualModelBox.setSelection(isVirtual);
+       
         this.updateCheckBox = WidgetFactory.createCheckBox(pg, UPDATE_CHECKBOX, 0, COLUMN_COUNT);
         this.updateCheckBox.addSelectionListener(new SelectionAdapter() {
 
@@ -499,6 +511,15 @@
 
         if ((resources != null) && (resources.length > 0)) {
             IFile model = (IFile)resources[0];
+           
+            try {
+                ModelResource mr = ModelUtilities.getModelResource(model, true);
+                this.isVirtual = mr.getModelAnnotation().getModelType().equals(ModelType.VIRTUAL_LITERAL);
+                this.virtualModelBox.setSelection(this.isVirtual);
+            } catch (ModelWorkspaceException theException) {
+                Util.log(theException);
+            }
+           
             this.selectedModel = model;
             IContainer folder = model.getParent();
 
@@ -816,6 +837,15 @@
         }
         validatePage();
     }
+   
+    void virtualModelBoxSelected() {
+        // Need to set the JDBC IMport Settings to create or update "Virtual" relational model and NOT Physical
+       
+        // ALSO Need to change the "VALIDATION" for this page. If IS VIRTUAL and UPDATE is checked, then Selected Relational
+        // MODEL MUST be VIRTUAL, NOT PHYSICAL
+        this.isVirtual = virtualModelBox.getSelection();
+        validatePage();
+    }
 
     /**
      * Get the selected ModelResource.  This method will check the selectedModel field - if it is
@@ -916,10 +946,14 @@
                             WizardUtil.setPageComplete(this, NOT_RELATIONAL_MODEL_MESSAGE, ERROR);
                             return;
                         }
-                        if (model.getModelType().getValue() == ModelType.VIRTUAL) {
+                        if (!isVirtual() && model.getModelType().getValue() == ModelType.VIRTUAL) {
                             WizardUtil.setPageComplete(this, VIRTUAL_MODEL_MESSAGE, ERROR);
                             return;
                         }
+                        if (isVirtual() && model.getModelType().getValue() == ModelType.PHYSICAL) {
+                            WizardUtil.setPageComplete(this, PHYSICAL_MODEL_MESSAGE, ERROR);
+                            return;
+                        }
                     } catch (final ModelWorkspaceException err) {
                         Util.log(err);
                         WidgetUtil.showError(err.getLocalizedMessage());
@@ -1042,4 +1076,8 @@
     public void setInitd(boolean initd) {
         this.initd = initd;
     }
+   
+    public boolean isVirtual() {
+        return this.isVirtual;
+    }
 }
