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