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

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> jdbc:odbc работа с dbf-файлами, Ошибка при CREATE TABLE 
:(
    Опции темы
agR
Дата 13.7.2007, 19:16 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 140
Регистрация: 19.7.2006
Где: Киев

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



Надо создать dbf-файл.
Для создания использую мост jdbc.odbc.
Вот небольшой код:
Код

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
import java.sql.Statement;

    
public class DBFConnect {
    public static void main(String[] args) throws ClassNotFoundException, SQLException {
        Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
        String url = "jdbc:odbc:Driver={Microsoft dBase Driver (*.dbf)};DBQ=C:\\aGr";
        Connection con = DriverManager.getConnection(url);
        Statement st = con.createStatement();
        st.executeUpdate("CREATE TABLE \"MYTABLE\" (" +
                "NAME CHAR (20)," +
                "CODE NUMERIC(16,2))");
        st.close();
        con.close();
    }
}

на название не обращайте внимания, просто хотел пройти несколько моментов, как видно не зря  smile 
Так вот, при компиляции выходит такое сообщение:
Цитата

Exception in thread "main" java.sql.SQLException: [Microsoft][Драйвер ODBC dBase] Ошибка синтаксиса в инструкции CREATE TABLE.
    at sun.jdbc.odbc.JdbcOdbc.createSQLException(JdbcOdbc.java:6957)
    at sun.jdbc.odbc.JdbcOdbc.standardError(JdbcOdbc.java:7114)
    at sun.jdbc.odbc.JdbcOdbc.SQLExecDirect(JdbcOdbc.java:3110)
    at sun.jdbc.odbc.JdbcOdbcStatement.execute(JdbcOdbcStatement.java:338)
    at sun.jdbc.odbc.JdbcOdbcStatement.executeUpdate(JdbcOdbcStatement.java:288)
    at DBFConnect.DBFConnect.main(DBFConnect.java:15)

Как по мне, все написано правильно. Можно конечно написать
Цитата

CODE NUMERIC)

но тогда поле CODE будет иметь тип NUMERIC(20,5), что не есть good
Если честно переходить на чистый jdbc неохота, хорошие - платные, бесплатные - глючные.
Как вариант можно конечно задать формат вручную, но... сами понимаете  smile 
Вообщем, жду Вашей помощи. 

PM MAIL ICQ   Вверх
check
Дата 13.7.2007, 19:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

Репутация: 2
Всего: 23



Цитата(agR @  13.7.2007,  19:16 Найти цитируемый пост)
"CREATE TABLE \"MYTABLE\" (" +

Не думаю,  что есть хоть один диалект SQL,  где имя таблицы заключается в кавычки...

PM MAIL   Вверх
agR
Дата 13.7.2007, 20:17 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 140
Регистрация: 19.7.2006
Где: Киев

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



Цитата(check @  13.7.2007,  19:25 Найти цитируемый пост)
Не думаю,  что есть хоть один диалект SQL,  где имя таблицы заключается в кавычки...

Упсс... соррри.. но это я выложил уже поковерканный код... лазил на форумах, на каком-то парню вот это посоветовали  smile 
Так как это:
Код

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
import java.sql.Statement;
    
public class DBFConnect {
    public static void main(String[] args) throws ClassNotFoundException, SQLException {
        Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
        String url = "jdbc:odbc:Driver={Microsoft dBase Driver (*.dbf)};DBQ=C:\\aGr";
        Connection con = DriverManager.getConnection(url);
        Statement st = con.createStatement();
        st.executeUpdate("CREATE TABLE MYTABLE (" +
                "NAME CHAR (20)," +
                "CODE NUMERIC(16,2))");
        st.close();
        con.close();
    }
}

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

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

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


 




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


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

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