diff --git a/projects/cadcTAP/src/ca/nrc/cadc/tap/writer/formatter/IntArrayFormatter.java b/projects/cadcTAP/src/ca/nrc/cadc/tap/writer/formatter/IntArrayFormatter.java
index 54e63bf2cff24e0b9efea311834e0739c9a37d3a..5d6cd5b719607a41c7a8e96cc2d7fd993f893502 100644
--- a/projects/cadcTAP/src/ca/nrc/cadc/tap/writer/formatter/IntArrayFormatter.java
+++ b/projects/cadcTAP/src/ca/nrc/cadc/tap/writer/formatter/IntArrayFormatter.java
@@ -69,12 +69,26 @@
 
 package ca.nrc.cadc.tap.writer.formatter;
 
+import java.sql.SQLException;
+
 public class IntArrayFormatter implements Formatter
 {
     public String format(Object object)
     {
         if (object == null)
             return "";
+        if (object instanceof java.sql.Array)
+        {
+            try
+            {
+                java.sql.Array array = (java.sql.Array) object;
+                object = (int[]) array.getArray();
+            }
+            catch (SQLException e)
+            {
+                throw new IllegalArgumentException("Error accessing array data for " + object.getClass().getCanonicalName(), e);
+            }
+        }
         if (!(object instanceof int[]))
             throw new IllegalArgumentException("Expecting int[], " + object.getClass().getCanonicalName() + " not supported.");