title: Need to fetch Metadata from sql query using java
body: <p>I have a sql query fro which I need the column name and data type and it's table name and schema name:</p>
  
  <p>Thsi is the  method I am using for using and testing it for SQLSERVER:</p>
  
  <pre><code>public static void getMetadataForConn(Connection conn) throws SQLException
      {
          ResultSet rs = null;
           try
           {
  
               Statement stmt = conn.createStatement();
               rs = stmt.executeQuery("SELECT AB_DEMO_SRC.dbo.employee.dept_id dept_id, AB_DEMO_SRC.dbo.employee.email_add email_add, AB_DEMO_SRC.dbo.employee.emp_address emp_address, AB_DEMO_SRC.dbo.employee.emp_id emp_id, AB_DEMO_SRC.dbo.employee.emp_name emp_name FROM AB_DEMO_SRC.dbo.employee ");
               ResultSetMetaData md = rs.getMetaData();
               int columnCount = md.getColumnCount();
               for (int i = 1; i &lt;= columnCount; i++)
                   System.out.print(md.getColumnName(i) + "(" + md.getColumnType(i) + ") "+md.getSchemaName(i)+"."+md.getTableName(i));
               System.out.println();
               while (rs.next())
               {
                   for (int i = 1; i &lt;= columnCount; i++)
                   {
                       Object o = rs.getObject(i);
                       System.out.print(null == o ? "" : o.toString() + " ");
                   }
                   System.out.println();
               }
              }
              finally
              {
                  if (null != rs)
                  {
                      rs.close();
                  }
              }
      }
  </code></pre>
  
  <p>I get all the other metadata details like data type, precision and scale..Strangely, I am getting tablename and schema name as "" that is blank..IS there any other way to fetch the metadata of the columns present in a Query?</p>