ru_java


ru.java

все о языке программирования java


Previous Entry Share Next Entry
наступил на грабли classpath или что ?
n1919 wrote in ru_java
делаю тестовый пример, по типу HelloWorld.


import java.sql.*;
//import oracle.jdbc.driver.OracleDriver;
import oracle.jdbc.OracleDriver;

public class test
{

public static void log(String s)
{
System.out.println(s);
}

public static void main(String[] args)
{
log("begin test");


String server = "localhost";
String port = "1521";
String sid = "XE";
String url = "jdbc:oracle:thin:@" + server + ":" + port + ":" + sid;

try
{
Connection conn = DriverManager.getConnection(url, "hr","hr");
}
catch (SQLException e)
{
log(e.toString());
}

log("end test");
}

}


компилируется и запускается
но коннект не видит класс:

begin test
java.sql.SQLException: No suitable driver found for jdbc:oracle:thin:@localhost:1521:XE
end test

интересно, однако, что import-то вроде проходит, иначе бы не компилировалось.

стоит отметить, что для простоты всё в одной директории.
ojdbc6.jar там же.

может не очень хорошо, но я выбрал пока так.
никакой IDE, только командная строка.

компиляция так:

"C:\Program Files\Java\jdk1.7.0_79\bin\javac" -classpath ".;.\*" .\test.java

запуск:

"C:\Program Files\Java\jdk1.7.0_79\bin\java" test -classpath ".;.\*"

пробовал писать jar явно: -classpath ".;.\ojdbc6.jar"

чё может быть ?
может jar какой-то не той версии ?
но я вроде последний качал.

  • 1
таки да.
а я ступил потому что оно видимо сам класс test находило потому что . это по умолчанию.

правда, вылез другой косяк.

C:\_java\tests>"C:\Program Files\Java\jdk1.7.0_79\bin\java" -classpath ".;.\*" test
begin test
java.sql.SQLException: ORA-00604: error occurred at recursive SQL level 1
ORA-12705: Cannot access NLS data files or invalid environment specified

end test

Это уже к ораклу.
Если же нужно что-то простое для учёбы с jdbc, то проще поставиль локальный MySQL, IMHO.

Если нужно простое для учёбы с JDBC, то прямо с JDK поставляется DerbyDB. Раньше точно поставлялась.
Если хочется отдельное что-то, то H2DB в память или в файл тоже сильно проще чем ставить мускл или что ещё. Под виндой-то.

Тоже варианты.

  • 1
?

Log in

No account? Create an account