0
如何使用Java從postgres數據庫獲取inet數據類型?我曾嘗試:使用Java從postgreSQL檢索inet數據類型?
ResultSet foo = // query goes here //
foo.getString("loopback");
但它拋出一個SQL例外,「無效的列名,」當我做。 AFAIK沒有對應於Java中的postgres inet的數據類型。我能做什麼?
如何使用Java從postgres數據庫獲取inet數據類型?我曾嘗試:使用Java從postgreSQL檢索inet數據類型?
ResultSet foo = // query goes here //
foo.getString("loopback");
但它拋出一個SQL例外,「無效的列名,」當我做。 AFAIK沒有對應於Java中的postgres inet的數據類型。我能做什麼?
張貼在迴應克里斯·特拉弗斯
我原來的查詢:
//Query returning the set of devices in a given market
String stm ="SELECT device "
"FROM mopdb.devices d " +
"INNER JOIN mopdb.markets m " +
"ON (d.market_id = m.market_id) " +
"WHERE (m.short = ?) " +
"ORDER BY d.device_id ";
「設備」,在設備表由幾列,其中包括回送和OOB,這是(明顯)的IP地址(IPv4,要清楚)。
這是在其中我走ResultSet和建立一個新的「設備」對象
ResultSet d = DBUtilities.getDevicesFromMarket(m.toString());
while(d.next()) {
String loopback, oob;
Device deviceName = new Device(d.getString("device"),
(DBInet.valueOf(d.getString("loopback"))),
(DBInet.valueOf(oob = d.getString("oob"))),
d.getString("traffic_type"), d.getString("clli"),
d.getString("rack"), d.getInt("market_id"),
d.getString("codebase"));
model.addElement(deviceName);
}
DBInet.valueOf是打開一個PostgreSQL INET數據類型的字符串表示成DBInet對象的靜態方法中的線; java.net.InetAddress的包裝類。
問題是我只是從設備表中選擇「設備」列。以下是按預期工作的查詢。
//Query returning the set of devices in a given market
String stm ="SELECT * " +
"FROM mopdb.devices d " +
"INNER JOIN mopdb.markets m " +
"ON (d.market_id = m.market_id) " +
"WHERE (m.short = ?) " +
"ORDER BY d.device_id ";
*「但它會引發SQL異常,當我這樣做。」*哪一個? – cdhowie 2013-03-21 16:25:05
我覺得啞巴。我甚至沒有檢查過。它會拋出「無效的列名」 – 2013-03-21 16:31:23
也請粘貼您的查詢和任何引用的表格模式。 – cdhowie 2013-03-21 16:32:20