X-Git-Url: http://secure.phpeclipse.com

diff --git a/archive/net.sourceforge.phpeclipse.quantum.sql/src/com/quantum/util/connection/ConnectionUtil.java b/archive/net.sourceforge.phpeclipse.quantum.sql/src/com/quantum/util/connection/ConnectionUtil.java
index ecfe620..8c775a3 100644
--- a/archive/net.sourceforge.phpeclipse.quantum.sql/src/com/quantum/util/connection/ConnectionUtil.java
+++ b/archive/net.sourceforge.phpeclipse.quantum.sql/src/com/quantum/util/connection/ConnectionUtil.java
@@ -1,6 +1,7 @@
 package com.quantum.util.connection;
 
 import java.sql.Connection;
+import java.sql.SQLException;
 
 import com.quantum.Messages;
 import com.quantum.model.Bookmark;
@@ -8,6 +9,7 @@ import com.quantum.model.ConnectionException;
 import com.quantum.model.NotConnectedException;
 import com.quantum.ui.dialog.ExceptionDisplayDialog;
 import com.quantum.ui.dialog.PasswordDialog;
+import com.quantum.ui.dialog.SQLExceptionDialog;
 
 import org.eclipse.swt.widgets.Shell;
 
@@ -16,7 +18,7 @@ import org.eclipse.swt.widgets.Shell;
  * interactions such as providing messages to the user and/or prompting for a 
  * password.
  * 
- * @author BC
+ * @author BC Holmes
  */
 public class ConnectionUtil {
 
@@ -35,10 +37,14 @@ public class ConnectionUtil {
         try {
             connection = bookmark.connect(PasswordDialog.createPasswordFinder(shell));
         } catch (ConnectionException e) {
-            ExceptionDisplayDialog.openError(shell, 
-                Messages.getString(getClass().getName() + ".title"), 
-                Messages.getString(getClass().getName() + ".message") +
-				" (Bookmark:"+bookmark.getName()+")", e);
+        	if (e.getCause() != null && e.getCause() instanceof SQLException) {
+        		SQLExceptionDialog.openException(shell, bookmark, (SQLException) e.getCause());
+        	} else {
+	            ExceptionDisplayDialog.openError(shell, 
+	                Messages.getString(getClass().getName() + ".title"), 
+	                Messages.getString(getClass().getName() + ".message") +
+					" (Bookmark:"+bookmark.getName()+")", e);
+        	}
         }
         return connection;
     }