powered by simpleCommunicator - 2.0.53     © 2025 Programmizd 02
Форумы / IBM DB2, WebSphere, IMS, U2 [игнор отключен] [закрыт для гостей] / Как удалить БД
7 сообщений из 7, страница 1 из 1
Как удалить БД
    #33269956
Tice
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Вопрос мегапростой - "Как удалить БД с помощью DDL?" то есть из приложения(аппликухи.)
...
Рейтинг: 0 / 0
Как удалить БД
    #33269971
Tice
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Да ещё такой вопрос - создать тоже не получается с помощью JDBC. Я создаю так :
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
static void testDB2(){
		try {
			
//		 load driver
      Class.forName("com.ibm.db2.jcc.DB2Driver").newInstance();
      java.sql.Connection con =
        java.sql.DriverManager.getConnection(
        	"jdbc:db2://172.16.200.18:50000/first", 
					"icet", "icewin");
      
      java.sql.Statement stmt = con.createStatement();

      String query = "CREATE DATABASE WWW ON 'D:' USING CODESET 1251 TERRITORY RU COLLATE USING SYSTEM;";
      stmt.execute(query);
      con.close();
      System.out.println("all right");
			
		} catch (Exception e) {
			e.printStackTrace();
		}
	}

Ошибка такая:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
com.ibm.db2.jcc.b.SQLException: Обнаружен неправильный элемент "DATABASE" после текста "CREATE ".  Список правильных элементов: "INDEX".
	at com.ibm.db2.jcc.b.ce.e(ce.java: 1093 )
	at com.ibm.db2.jcc.b.ce.b(ce.java: 843 )
	at com.ibm.db2.jcc.a.bd.h(bd.java: 207 )
	at com.ibm.db2.jcc.a.bd.b(bd.java: 47 )
	at com.ibm.db2.jcc.a.r.b(r.java: 42 )
	at com.ibm.db2.jcc.a.bp.f(bp.java: 135 )
	at com.ibm.db2.jcc.b.ce.g(ce.java: 840 )
	at com.ibm.db2.jcc.b.ce.a(ce.java: 1323 )
	at com.ibm.db2.jcc.b.ce.execute(ce.java: 473 )
	at Tester.testDB2(Tester.java: 234 )
	at Tester.main(Tester.java: 272 )
...
Рейтинг: 0 / 0
Как удалить БД
    #33269976
nkulikov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Это невозможно, по архитектурной причине.
В DB2 база нечто срреднее между Oracle instance и Oracle Schema....
Короче идея IMHO бредовая, но если очень хочется то в версии 8.2 появилася возможность вызывать команды DB2 CLP на сервере через хранимую процедуру ADMIN_CMD. Заведи системную БД соединяся с ней и через нее отбрасывай не нужные БД.
...
Рейтинг: 0 / 0
Как удалить БД
    #33270021
Tice
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
2 nkulikov
спасибо попробую - но уже завтра :)
...
Рейтинг: 0 / 0
Как удалить БД
    #33270403
ggv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ggv
Гость
http://publib.boulder.ibm.com/infocenter/db2help/topic/com.ibm.db2.udb.doc/admin/r0001446.htm
http://publib.boulder.ibm.com/infocenter/db2help/topic/com.ibm.db2.udb.doc/admin/r0001458.htm
...
Рейтинг: 0 / 0
Как удалить БД
    #33270877
Tice
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Попробовал сделать так
Код: plaintext
1.
2.
3.
String sql = "CALL SYSPROC.ADMIN_CMD('CREATE DATABASE WWW ON 'D:' USING CODESET 1251 TERRITORY RU COLLATE USING SYSTEM')";
      CallableStatement callStmt = con.prepareCall(sql);
      callStmt.execute();
Получил ошибку
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
com.ibm.db2.jcc.b.SQLException: Подпрограмма "ADMIN_CMD" (с уникальным именем "SQL050915111451010") реализуется при помощи кода функции "SYSPROC.ADMIN_CMD", находящегося в библиотеке или в пути "\SYSPROC.ADMIN_CMD".  Этот код функции недоступен. Код причины: "4".
	at com.ibm.db2.jcc.b.ce.d(ce.java: 975 )
	at com.ibm.db2.jcc.a.bd.k(bd.java: 312 )
	at com.ibm.db2.jcc.a.bd.e(bd.java: 89 )
	at com.ibm.db2.jcc.a.r.e(r.java: 108 )
	at com.ibm.db2.jcc.a.bp.i(bp.java: 181 )
	at com.ibm.db2.jcc.b.ce.k(ce.java: 953 )
	at com.ibm.db2.jcc.b.cf.M(cf.java: 1649 )
	at com.ibm.db2.jcc.b.cf.a(cf.java: 1572 )
	at com.ibm.db2.jcc.b.cg.execute(cg.java: 106 )
	at Tester.testDB2(Tester.java: 240 )
	at Tester.main(Tester.java: 278 )
...
Рейтинг: 0 / 0
Как удалить БД
    #33271145
gardenman
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ADMIN_CMD служит исключительно для вызова таких процедур как RUNSTATS, REORG, DESCRIBE и REORGCHK. поэтому определенно - ничего не получится.
Единственный способ - это использовать admin api. А это - С/С++.
...
Рейтинг: 0 / 0
7 сообщений из 7, страница 1 из 1
Форумы / IBM DB2, WebSphere, IMS, U2 [игнор отключен] [закрыт для гостей] / Как удалить БД
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]