01.11.2002, 17:04 | #1 |
Moderator
|
Работа с Aссess'им файлом данных
Делаю так:
static void MyJob(Args _args) { OdbcConnection connection; LoginProperty loginProperty = new LoginProperty(); Statement statement; ResultSet resultSet; str statementTxt = "select * from Table"; str resultFieldStr; int resultFieldInt; ; loginProperty.setDSN("TMr"); loginProperty.setDatabase("TMr"); loginProperty.setUsername(""); loginProperty.setPassword(""); connection = new OdbcConnection(loginProperty); statement = connection.createStatement(); resultSet = statement.executeQuery(statementTxt); while (resultSet.next()) { resultFieldStr = resultSet.getString(1); resultFieldInt = resultSet.getInt(2); } } ТMr - это DSN. При запуске job' появляется сообщение об ошибке: Невозможно выбрать запись в таблице "'(")' Ошибка синтаксиса в предложении from. Как я подразумеваю дело в следующих строчках: loginProperty.setDSN("TMr"); loginProperty.setDatabase("TMr"); - что нужно подставлять в setDatabase - наименование файла tmr.mdb или имя DSN - что должно быть в setDSN - имя источника данных (TMr) или имя драйвера (что-то впроде MSAcess. ...). Кто-нибудь делал подобные вещи ? Может поможите примерчиком ? |
|
01.11.2002, 19:03 | #2 |
Moderator
|
У меня примерно такой же код нормально работает. Единственное, я не делаю setDatabase, setUsername, setPassword. Пароля у меня нет, а БД прописываю в свойствах ODBC DataSource. В setDSN() - имя DSN.
__________________
Андрей. |
|
02.11.2002, 16:52 | #3 |
Moderator
|
Мда..
Изменил имя таблицы с Table, на нечто более нейтральное (а именно tbl) и все заработало. |
|
15.11.2002, 09:41 | #4 |
Moderator
|
А можно ли работать с внешним файлом данных(в моем случае dbf) не создавая DSN. То есть, не используя следующую конструкцию:
PHP код:
Пробую делать вот так: PHP код:
Работа с ODBC была прервана из за ошибки. Не удалось пройти авторизацию при подключении к базе данных. [Microsoft][ODBC Driver Manager] DataSource Name Not Found and not default driver specified Object 'Odbc connection' could not created. Что-нибудь посоветуете ? |
|
15.11.2002, 11:33 | #5 |
Moderator
|
setDSN() все равно нужен, хотя бы для того, чтобы система могла понять, какой драйвер ей использовать. А потом можно в setDatabase() указывать любой необходимый каталог / файл.
__________________
Андрей. |
|
15.11.2002, 11:40 | #6 |
Moderator
|
Спасибо. Действительно.
|
|
15.11.2002, 11:49 | #7 |
Moderator
|
Нет. Поспешил.
Не смотря на указанный Database данные берет из того файла, на который указывает DSN, а не из выбранного пользователем. |
|
15.11.2002, 12:33 | #8 |
Moderator
|
Да, я тоже поторопился...
Действительно, все берет из настроек DSN`a, и не получается никак убедить его в обратном... А setDatabase(), мне кажется, определяет только БД для SQL сервера.
__________________
Андрей. |
|
|
Похожие темы | ||||
Тема | Ответов | |||
Невозможно выполнить команду языка определения данных в () | 8 | |||
Стандартный импорт данных. Обновление | 0 | |||
Работа с текстовым файлом | 4 | |||
Введение в Аксапту | 0 |
|