Связь с таблицами(Oracle) из Access через ODBC?
Модераторы: m0p3e, edward_K, Модераторы
-
- Местный житель
- Сообщения: 702
- Зарегистрирован: 29 мар 2005, 17:49
- Откуда: Украина, Запорожска яобласть, г.Днепрорудный
Связь с таблицами(Oracle) из Access через ODBC?
Добрый день. 7.11+Оракл. Пытаюсь построить вышеуказанный доступ, часть таблиц без проблем, а на некоторых(Katmc, Katpodr) Access ругается на не правильное название полей в таблицах: 'FHOUR[1]' is not valid. Это как то можно победить?
ЗЫ: в форуме народ советует (у кого первасив) просто изменить имя поля, но в таблице katpodr поле HOUR[1] это продолжительность смены, там хоть и нули, вообщем как-то стремно.Есть ли какой-то не такой радикадьный способ?
ЗЫ: в форуме народ советует (у кого первасив) просто изменить имя поля, но в таблице katpodr поле HOUR[1] это продолжительность смены, там хоть и нули, вообщем как-то стремно.Есть ли какой-то не такой радикадьный способ?
-
- Местный житель
- Сообщения: 291
- Зарегистрирован: 29 мар 2005, 17:49
- Откуда: С-Петербург
- Контактная информация:
Я не очень понял саму суть вопроса, что значит построить доступ? Сформировать запрос с такими "классными" названиями полей? (Имеется в виду, что сам ODBC без проблем)
Если пытаться создать поля с символами [] в ACCESS то проблемы будут, он их считает спецсимволами или чем там. Заменяй на решетку.
Проверь, наверняка, в самом ORACLE поля эти называются что-то типа HOUR#1# - в SQL так.
Соотв. в запросе или в ACCESS можно юзать именно так.
Если пытаться создать поля с символами [] в ACCESS то проблемы будут, он их считает спецсимволами или чем там. Заменяй на решетку.
Проверь, наверняка, в самом ORACLE поля эти называются что-то типа HOUR#1# - в SQL так.
Соотв. в запросе или в ACCESS можно юзать именно так.
Безвыходных ситуаций не бывает: DO LOOP WHILE TRUE
-
- Местный житель
- Сообщения: 291
- Зарегистрирован: 29 мар 2005, 17:49
- Откуда: С-Петербург
- Контактная информация:
Так, по порядку. В чем проблема, я чего-то нить потерял.
Дано: база Галы под Oracle, готовое ODBC соединение, MS Access
Задача: В таблу под Access вытащить данные из таблы в Гале?
В чем проблема?
Тут вроде все нормально.
Делаем запрос к серверу, в нем указываем строку подключения ODBC
в запросе пишем, например,
select f$hour#1# from t$katpodr; //вариант под SQL, как в Oracle таблы называются, надо смотреть отдельно, но думаю с подобными префиксами.
результат запроса уже заливаем куда надо.
Если же наборот, в галку надо всасывать из Access, то тут сходу ничего не скажу.
Дано: база Галы под Oracle, готовое ODBC соединение, MS Access
Задача: В таблу под Access вытащить данные из таблы в Гале?
В чем проблема?
Тут вроде все нормально.
Делаем запрос к серверу, в нем указываем строку подключения ODBC
в запросе пишем, например,
select f$hour#1# from t$katpodr; //вариант под SQL, как в Oracle таблы называются, надо смотреть отдельно, но думаю с подобными префиксами.
результат запроса уже заливаем куда надо.
Если же наборот, в галку надо всасывать из Access, то тут сходу ничего не скажу.
Безвыходных ситуаций не бывает: DO LOOP WHILE TRUE
Проблема не в оракле а в MsAccess.
Для того чтобы обратиться к таким не стандартным полям -
создайте свою View в оракле, замените [] на чтонить удобоваримое и открывайте ее в акцессе.
Для того чтобы обратиться к таким не стандартным полям -
создайте свою 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
/