반응형



Connection 실패!

e : java.sql.SQLException: Listener refused the connection with the following error:

ORA-12505, TNS:listener does not currently know of SID given in connect descriptor

The Connection descriptor used by the client was:

100.100.1.1:1521:HHHAAA


원인

SID 와 ServiceName이 상이할 경우 발생


해결 방안


SID일 경우                - "jdbc:oracle:thin:@" + dbip + ":" + dbport + ":" + dbsid;
ServiceName일 경우 - "jdbc:oracle:thin:@" + dbip + ":" + dbport + "/" + dbsid;   


JSP 상에서는 안될 경우
connectInfo = "jdbc:oracle:thin:@//" + dbip + ":" + dbport + "/" + dbsid;

참고 사이트 : 
http://stillrabbit.blogspot.com/2009/01/jdbc-config-oracle-resource.html
 

후후... 일반적으로 SID와 Service Name이 동일하나... 이 사이트와 같은 경우도 존재했음...

샘플 JDBCTest.java

컴파일 : javac JDBCTest.java
실행 : java -cp /xxx/xxx/ojdbc.jar:. JDBCTest

 import java.sql.*; 


public class JDBCTest { 

 private static Connection con; 1

 private static Statement stmt; 

 private static ResultSet rs;   

  

 public static void main(String[] ar){ 

  try{ 

   // 1. Driver를 로딩한다. 

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

   System.out.println("OracleDriver의 로딩이 정상적으로 이뤄졌습니다."); 

    


   String url = "(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=100.100.1.1)(PORT=1521))(CONNECT_DATA=(SERVER=DEDICATED)(SERVICE_NAME=HHHAAA)))";

   // 2. Connection 얻어오기 

   con  = DriverManager.getConnection("jdbc:oracle:thin:@100.100.1.1:1521/HHHAAA" , "HHHH_WEBS", "123456");

   System.out.println("데이터베이스의 연결에 성공하였습니다."); 

    

   // 3. Statement 얻기 --> 쿼리문 작성하여 적용하기 위한 용도 

   stmt = con.createStatement(); 

    

   String sql ="";

    

   // 7. Select문 실행하여 데이터베이스 내용 출력하기 

   sql = "select count(*) from admin.tablesAN20"; 

   

   rs = stmt.executeQuery(sql); 

   

   while(rs.next()){ 

    System.out.println("count : " + rs.getString(1)); 

   } 

   

   // 7. Select문 실행하여 데이터베이스 내용 출력하기 

   sql = "select count(*) from admin.tablesXA01"; 

   

   rs = stmt.executeQuery(sql); 

   

   while(rs.next()){ 

    System.out.println("count : " + rs.getString(1)); 

   } 

   

   // 7. Select문 실행하여 데이터베이스 내용 출력하기 

   sql = "select count(*) from admin.tablesXA02"; 

   

   rs = stmt.executeQuery(sql); 

   

   while(rs.next()){ 

    System.out.println("count : " + rs.getString(1)); 

   }       

   

   rs.close(); 

   stmt.close(); 

   con.close(); 

  }catch(ClassNotFoundException cnfe){ 

   System.out.println("oracle.jdbc.driver.OracleDriver를 찾을 수 없습니다."); 

  }catch(SQLException  sql){ 

   System.out.println("Connection 실패!"); 

   System.out.println("e : " + sql.toString()); 

  }catch(Exception e){ 

   System.out.println(e.toString()); 

  }finally{ 

   System.out.println("성공!!"); 

  } 

 } 








반응형

'Private' 카테고리의 다른 글

node-red oracledb  (0) 2018.06.25
서버 용량 산정 / 성능 측정 / tpmc / bops / tpc / tpc-h  (0) 2013.05.10
Magicar AF BRONZE (매직카 브론즈)  (0) 2011.11.30
압력 밥솥 구매 ... 예정  (0) 2011.11.26
아놔 가습기  (3) 2011.11.22
반응형

 

Ping request could not find host xxxx Please check the name and try again

 

http://support.microsoft.com/kb/972034

 

 

MicrosoftFixit50267.msi

반응형
반응형


파일명.cmd 로 실행가능함

역할

1. PC 주소와 IP 세팅을 함.
2. reg add -> 레지스트리 정보에 위치시킴
3. netsh -> 정보 세팅

@Echo Off
Title CMD창에서 컴퓨터 이름 변경 (고정) by dr.jk & Mode Con Cols=47 Lines=9&SetLocal

:NameApply
Set PCName=1번피씨

Reg Add HKLM\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters /V "NV Hostname" /D %PCName% /F > Nul
REG ADD HKLM\SYSTEM\CurrentControlSet\Control\ComputerName\ComputerName /V "ComputerName" /D %PCName% /F > Nul

Netsh -c Int Ip Set Address Name="로컬 영역 연결" Static 192.168.0.10 255.255.255.0 192.168.0.1 0
Netsh -c Int Ip Set DNS Name="로컬 영역 연결" Static 192.168.0.1 Primary
Netsh -c Int Ip Add DNS Name="로컬 영역 연결" 168.126.63.1 2
Goto End

:End
EndLocal

반응형

+ Recent posts