Страница 1 из 1
Связь с таблицами(Oracle) из Access через ODBC?
Добавлено: 26 дек 2005, 17:47
Andrey
Добрый день. 7.11+Оракл. Пытаюсь построить вышеуказанный доступ, часть таблиц без проблем, а на некоторых(Katmc, Katpodr) Access ругается на не правильное название полей в таблицах: 'FHOUR[1]' is not valid. Это как то можно победить?
ЗЫ: в форуме народ советует (у кого первасив) просто изменить имя поля, но в таблице katpodr поле HOUR[1] это продолжительность смены, там хоть и нули, вообщем как-то стремно.Есть ли какой-то не такой радикадьный способ?
Добавлено: 26 дек 2005, 19:16
Johny
Я не очень понял саму суть вопроса, что значит построить доступ? Сформировать запрос с такими "классными" названиями полей? (Имеется в виду, что сам ODBC без проблем)
Если пытаться создать поля с символами [] в ACCESS то проблемы будут, он их считает спецсимволами или чем там. Заменяй на решетку.
Проверь, наверняка, в самом ORACLE поля эти называются что-то типа HOUR#1# - в SQL так.
Соотв. в запросе или в ACCESS можно юзать именно так.
Добавлено: 27 дек 2005, 11:03
Andrey
To Johny: Да, имеется в виду что через ODBC, если без проблем подскажите как. Делаю в Access: Внешние данные-Связь с таблицами-ODBC-Oracle.dsn-указываю таблицу-и система выдает ошибку-таблицы нет.
Добавлено: 27 дек 2005, 12:59
Johny
Так, по порядку. В чем проблема, я чего-то нить потерял.
Дано: база Галы под Oracle, готовое ODBC соединение, MS Access
Задача: В таблу под Access вытащить данные из таблы в Гале?
В чем проблема?
Тут вроде все нормально.
Делаем запрос к серверу, в нем указываем строку подключения ODBC
в запросе пишем, например,
select f$hour#1# from t$katpodr; //вариант под SQL, как в Oracle таблы называются, надо смотреть отдельно, но думаю с подобными префиксами.
результат запроса уже заливаем куда надо.
Если же наборот, в галку надо всасывать из Access, то тут сходу ничего не скажу.
Добавлено: 27 дек 2005, 13:09
Andrey
задача не " В таблу под Access" а в Access создать связь с внешними данными, которыми являются оракловые таблицы имена полей которых имеют в названии квад.скобки
Добавлено: 27 дек 2005, 13:51
Johny
так, я кажеться зациклился. Как я понял, поля без скобок вытаскиваются без проблем?
Еще раз говорю скобки надо менять на решетки.
Так не сработало (с решетками) ?
Добавлено: 27 дек 2005, 14:39
Andrey
а где менять?
Добавлено: 18 июн 2009, 14:26
jpoint
Спустя много лет топик ожил!
(oracle) как же всетаки обратиться к полю, содержащему в имени квадратные скобки, например, KAUKS[1] ? замена на # не помогает..
Добавлено: 18 июн 2009, 15:10
Ged
Проблема не в оракле а в MsAccess.
Для того чтобы обратиться к таким не стандартным полям -
создайте свою View в оракле, замените [] на чтонить удобоваримое и открывайте ее в акцессе.
Код: Выделить всё
CREATE OR REPLACE VIEW V_KATPODR
(SYS#UL, FNREC, FATL_LASTDATE, FATL_LASTTIME, FATL_LASTUSER,
FATL_ORIGINOFFICE, FATL_OWNER, FATL_BRANCH, FLASTUSER, FLASTTIME,
FLASTDATE, FFILIALNO, FCODE, FCPODR, FISLEAF,
FCREC, FNAME, FNAME$UP, FKOD, FKOD$UP,
FFIO, FCUSER, FADDR, FTEL, FSKLAD,
FVOLUME, FCRESHR, FCGRPODR, FSKPRIOR, FINTERN,
FCFUNC, FSMEN, FHOUR_1_, FHOUR_2_, FHOUR_3_,
FMINUT_1_, FMINUT_2_, FMINUT_3_, FUCHPRC, FPRSKLAD,
FTYPEUCH, FCPRICEL, FCGRAFIK, FCCALENDAR, FCMNFSTRC,
FFIO_GB, FCORG, FISARCH, FCKPP)
AS
SELECT sys#ul, fnrec, fatl_lastdate, fatl_lasttime, fatl_lastuser,
fatl_originoffice, fatl_owner, fatl_branch, flastuser, flasttime,
flastdate, ffilialno, fcode, fcpodr, fisleaf, fcrec, fname,
fname$up, fkod, fkod$up, ffio, fcuser, faddr, ftel, fsklad, fvolume,
fcreshr, fcgrpodr, fskprior, fintern, fcfunc, fsmen, "FHOUR[1]",
"FHOUR[2]", "FHOUR[3]", "FMINUT[1]", "FMINUT[2]", "FMINUT[3]",
fuchprc, fprsklad, ftypeuch, fcpricel, fcgrafik, fccalendar,
fcmnfstrc, ffio_gb, fcorg, fisarch, fckpp
FROM e.katpodr k
/
GRANT SELECT ON V_KATPODR TO PUBLIC
/
Добавлено: 19 июн 2009, 07:24
jpoint
Проблема была в том, как обратиться к такому полю средствами самого оракла, например sqlplus. По вашему ответу - взяв поле в кавычки, что мне и помогло. Благодарю!)