Модераторы: LSD, AntonSaburov
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> JDBC-ODBC мост, Как подключить MSSQL Server через ODBC 
:(
    Опции темы
Авдеев Андрей
Дата 10.12.2004, 12:37 (ссылка)    |    (голосов: 0) Загрузка ... Загрузка ... Быстрая цитата Цитата


Unregistered











Я пытаюсь подключиться к базе данных MSSQL Server 2000 через ODBC c помощью Java.

Данный код компилирую javac.exe , подключаю .class в HTML, но когда запускаю в браузере выдает, что не может загрузить данный апплет. В Java Console выдает сообщение :

Exception while register driver: java.security.AccessControlException: access denied (java.lang.RuntimePermission accessClassInPackage.sun.jdbc.odbc)
SQLException: java.sql.SQLException: No suitable driver


Этой прог я пытаюсь соединиться:

import java.sql.*;


public class Join
{
public static void main() {

String url = "jdbc:odbc:Mir";
String driver="com.jdbc.odbc.JdbcOdbcDriver";
String user = "";
String password = "";
Connection c = null;

try {
Class.forName(driver).newInstance();
DriverManager.registerDriver((Driver)Class.forName(driver).newInstance());

} catch (Exception e)
{
System.out.println("Exception while register driver: "+e);
}

try {
c = DriverManager.getConnection(url,user,password);
c.close();

} catch(SQLException e)
{
System.out.println("SQLException: "+e);
}

}
}



P.S. Я просто больше не знаю, что и делать, прошу тех кто сталкивался с этой проблемой и удачно её решил помочь, за ранее благодарен, Авдеев Андрей.

e-mail: [email protected]




  Вверх
Oracle
Дата 10.12.2004, 19:10 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 96
Регистрация: 26.11.2004

Репутация: 1
Всего: 3



Могу ошибаться, давно с этим дело не имел, но :
Или меня глючит, или это не апплет. Насколько я помню класс апплета должен быть унаследован от Applet и содержать методы init(), start(), paint() , для селф-теста часто добавляют метод main.
registerDriver() не надо......при class.forName() он сам сделает. Возможно, jdbc-odbc не прокатит в апплете -- он же дёргает локальную машину(а апплет работает в песочнице,и поэтому не имеет прав лезть на локальную машину, если он не подписанный). Кстати,
\j2sdk-1_4_2-doc\guide\jdbc

// Load the JDBC-ODBC bridge driver
Class.forName(sun.jdbc.odbc.JdbcOdbcDriver) ; //ТУТ sun.jdbc.odbc.... а у тебя com.jdbc.odbc....

// setup the properties
java.util.Properties prop = new java.util.Properties();
prop.put("charSet", "Big5");
prop.put("user", username);
prop.put("password", password);

// Connect to the database

Это сообщение отредактировал(а) Oracle - 10.12.2004, 19:26
PM MAIL   Вверх
igon
Дата 10.12.2004, 19:17 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 327
Регистрация: 30.10.2004

Репутация: нет
Всего: 21



C MySQL не работал, но, коль скоро пока никто не ответил, вот некоторые соображения:
1. Приведенный код класса Join не является кодом апплета и не может быть запущен из браузера.
2. Сама идея подключения к БД из апплета кажется мне сомнительной - у обычного апплета прав для этого недостаточно.

Попробуй запустить Join как Application (не как Applet). Будет ли ругаться?
Если нет - пункт 2 верен.

3. Посмотри вот здесь:
http://www.codeguru.com/forum/showthread.php?threadid=258164
Там хоть и нет "Спасибо, все работает", но проблема была похожа на твою.

В твоем коде
Код

Class.forName(driver).newInstance();
DriverManager.registerDriver((Driver)Class.forName(driver).newInstance());
смущает наличие двух вызовов newInstance(). Вот как это выглядит для Oracle (для MySQL должно быть аналогично)

DriverManager.registerDriver(new OracleDriver());
String url = "jdbc:oracle:thin:@"+configCommon.getProperty("URL");
String userName = configCommon.getProperty("LOGIN");
String userPwd = configCommon.getProperty("PASSWORD");
Connection conn = (OracleConnection)DriverManager.getConnection(url, userName, userPwd);

Упс, чуть опоздал smile

Это сообщение отредактировал(а) igon - 10.12.2004, 19:20


--------------------
Хотите поговорить об этом?
PM   Вверх
Domestic Cat
Дата 10.12.2004, 21:35 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Экс. модератор
Сообщений: 5452
Регистрация: 3.5.2004
Где: Dallas, US

Репутация: нет
Всего: 172





Убедительная просьба ко всем участникам: пользуйтесь тегами [cоde=java] [/code]. это значительно упрощает чтение кода.



Это сообщение отредактировал(а) Domestic Cat - 10.12.2004, 21:36


--------------------

PM   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Java"
LSD   AntonSaburov
powerOn   tux
  • Прежде, чем задать вопрос, прочтите это!
  • Книги по Java собираются здесь.
  • Документация и ресурсы по Java находятся здесь.
  • Используйте теги [code=java][/code] для подсветки кода. Используйтe чекбокс "транслит", если у Вас нет русских шрифтов.
  • Помечайте свой вопрос как решённый, если на него получен ответ. Ссылка "Пометить как решённый" находится над первым постом.
  • Действия модераторов можно обсудить здесь.
  • FAQ раздела лежит здесь.

Если Вам помогли, и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, LSD, AntonSaburov, powerOn, tux.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Java: Апплеты | Следующая тема »


 




[ Время генерации скрипта: 0.0415 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.