2016-05-03 65 views
3

我正在使用PL/SQL Developer完美連接到Oracle數據庫。我試圖從我的java代碼訪問數據庫。之後,我收到了來自PL/SQL Developer的這個錯誤「ORA-12154 TNS:無法解析」我仍然可以從我的代碼訪問數據庫和查詢。使用Oracle,突然收到ORA-12154 TNS:無法解析消息

我已經閱讀了有關此錯誤的建議解決方案,但由於我在Windows和數據庫服務器上使用的權限有限的瘦客戶機(我只能查詢它!!),所以無法使用它們。

我很感激任何解決此問題的建議。

我也很好奇這個問題的原因,因爲在我運行我的代碼之前一切都很好;這與連接到數據庫和查詢我有權限的一個視圖一樣簡單! 請注意,其他瘦客戶端上的其他用戶也無法與PL/SQL Developer連接。 我的代碼如下:

public static void main(String[] args) throws IOException { 
    // TODO code application logic here 

    Logger logger = Logger.getLogger("MyLog"); 
    FileHandler fh; 
    fh = new FileHandler("C:/Users/batam/Documents/MyLogFile.log"); 
    logger.addHandler(fh); 
    SimpleFormatter formatter = new SimpleFormatter(); 
    fh.setFormatter(formatter); 

     Class.forName("oracle.jdbc.driver.OracleDriver"); 

     Connection connection = null; 

    try { 
     connection = DriverManager.getConnection(
       "jdbc:oracle:thin:@capmtr10:1521/FINDATA1", "bamat", 
       "fg_3002"); 

    } catch (SQLException e) { 

       e.printStackTrace(); 

     return; 

    } 

    if (connection != null) { 

     try { 
      String sql = "select a.userid, a.Description from USER_FINANCE a where a.userid = 'batam'"; 

      Statement stmt = connection.createStatement(); 

      ResultSet rs = stmt.executeQuery(sql); 

      while (rs.next()) { 

       String id = rs.getString("userid"); 
       String name = rs.getString("Description"); 

       logger.info("Selecteds are : " + id + " : " + name); 
      } 

      rs.close(); 
      stmt.close(); 
     } catch (SQLException e) { 
      logger.info("SQLException : " + e.getMessage()); 
     } finally { 
      try { 
       connection.close(); 
      } catch (SQLException ex) { 
       Logger.getLogger(IFS.class.getName()).log(Level.SEVERE, null, ex); 
       logger.info("Close Exception : " + ex.getMessage()); 
      } 
     } 

    } else { 
     System.out.println("Failed to make connection!"); 
     logger.info("Failed to make connection!"); 
    } 

} 

我一直在使用system_context功能我的瘦客戶機上檢索到的服務器主機名和服務名稱從PL/SQL開發人員,而它仍然沒有這個錯誤連接。

預先感謝您。

+0

向我們展示導致異常的代碼。 –

+0

PL/SQL不是訪問Oracle的工具。你使用的工具的真名是什麼? PL/SQL Developer? SQLPLUS? SQL Developer?蟾蜍? – Codo

+0

你在Java中使用什麼連接字符串?您在其他工具中指定了哪些連接設置? – Codo

回答

0

您是否安裝了oracle客戶端工具?如果是這樣,那麼在cmd上使用YOUR_SID會給你連接數據庫的狀態。

相關問題