2012-05-18 3 views
2

Oracle заявила, что 11g R2 имеет поддержку IPV6, а ojdbc6.jar является правильным.Действительно ли Oracle 11gR2 поддерживает IPV6?

Но когда я проверяю его, я получаю исключение, вы решили?

Мой тестовый код:

import java.sql.SQLException; 
import java.util.Properties; 

public class Test { 

final static String sDBDriver = "oracle.jdbc.driver.OracleDriver"; 

/** 
* @param args 
* @throws SQLException 
*/ 

public static void main(String[] args) throws SQLException { 

// TODO Auto-generated method stub 
java.sql.Connection conn=null; 

String url="jdbc:oracle:thin:@(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST= 
[fe80::b056:5cff:fe78:b672])(PORT=1521))(CONNECT_DATA=(SERVICE_NAME=fnstdb1))"; 

try 
{ 
Class.forName(sDBDriver); 
conn = DriverManager.getConnection(url,"scott","fnst1234"); 
} 
catch (Exception e) 
{ 
System.out.println("ERROR:"+e.getMessage()); 
} 
finally 
{ 
System.out.println("连接是否关闭:"+conn.isClosed()); 
conn.close(); 
} 
} 

} 

и я использую следующий ЦМД:

java -cp ojdbc6.jar -Djava.net.preferIPv6Addresses=true Test 

но результат: ERROR:NL Exception was generated

Что не так?

+2

Я думаю, стоит упомянуть, что вы задали этот вопрос в [OTN] (https://forums.oracle.com/forums/thread.jspa?threadID=2389637) тоже. –

+0

Что такое stacktrace исключения? –

+0

Да, я задал вопрос на форуме оракула, извините, но я был озадачен этим, может ли кто-нибудь задать мне вопрос? – user1402674

ответ

1

Я решил эту проблему .the следующее показывает, что я сделал:

Процедура

  1. редактировать $DB_HOME\NETWORK\ADMIN\listener.ora файл, чтобы оракул слушать на IP и порт. например: (ADDRESS = (PROTOCOL = TCP)(HOST = [fe80::221:97ff:fe66:1fa9%4])(PORT= 1521))

  2. Перезапустите слушателя. Запуск: LSNRCTL stop/start

  3. В некоторых приложениях (javase, connection-pool, lookup) используйте ojdbc6.jar: jdbc:oracle:thin:@[fe80::221:97ff:fe66:1fa9]:1521:orcl.

  4. Результат удался !!

Demo

  1. IP-адрес в listener.ora должен добавить "% 4", или она не будет выполнена.

  2. Адрес ipv6 должен находиться в "[" и "]", иначе он не удастся.

  3. документ оракулом заявляет, что использование ipv6 должны установить опции Jvm

    java.net.preferIPv6Addresses=true

, но это не имеет значения, устанавливает ли он или нет!

Смежные вопросы