Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Access 2000 & Oracle. Null key (+) / 18 сообщений из 18, страница 1 из 1
13.01.2004, 11:40
    #32374063
supertim
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Access 2000 & Oracle. Null key (+)
Многоуважаемые, помогите плиз с такой проблемой.

Есть БД на Oracle.
Под нее делается интерфейс на Access 2000.
Данные из Оracle представлены в виде связаных таблиц.

Проблема:
Насколько я понял в Oracle есть возможность использовать поле и как Unique Key и одновременно поставить ему свойство Nullable.
То есть (как я пока дотумкал), повторений значений в этом поле Oracle не допустит, но одновременно разрешает заносить туда Null значения.
В Access такое не проходит, поскольку он не разрешает создавать ключевое поле с Null значениями (транспарант выскакивает в полэкрана :-).
Поскольку таблица связанная, все свойства полей беруться от источника, но перевираются страшным образом (ключевого поля уже нету).
При открытии этой таблицы все данные соответственно отображаются неправильно.
При ближайшем рассмотрении все записи где по идее в одном поле должен быть Null (ну просто надо так) одинаковы (ВСЕ ПОЛЯ !!!) и повторяют первую, где этот долбаный Null встречается.

Вопрос:
Че делать то ? Как сделать, чтоб данные в таблице были правильно представлены ? Может как-нибудь без таблицы обойтись ?
...
Рейтинг: 0 / 0
13.01.2004, 13:15
    #32374294
Темный
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Access 2000 & Oracle. Null key (+)
Начнем с самого начала...
1) Зачем нужен ключ с пустыми значениями?
2) Null = Null, т.е. Null в качестве ключа можно занести только ОДИН раз? см. п.1
...
Рейтинг: 0 / 0
13.01.2004, 13:21
    #32374303
Лох Позорный
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Access 2000 & Oracle. Null key (+)
2 Темный
Однако Null <> Null
О чем в свое время уже было обсуждение. Как раз применительно к уникальным индексам. Правда, там обсуждался не оракл, а аксес и MS SQL
...
Рейтинг: 0 / 0
13.01.2004, 14:08
    #32374402
Темный
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Access 2000 & Oracle. Null key (+)
ЛП, швырни, плиз, ссылкой в меня!
...
Рейтинг: 0 / 0
13.01.2004, 14:09
    #32374405
Темный
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Access 2000 & Oracle. Null key (+)
Нда...
Равнется ли один кусок Великое ничто другому куску Великого ничто?
...
Рейтинг: 0 / 0
13.01.2004, 14:20
    #32374422
Артист
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Access 2000 & Oracle. Null key (+)
Null <> Null
на мс скуль сервере по моему можно выставить чтоб Null = Null, или ошибаюсь?
...
Рейтинг: 0 / 0
13.01.2004, 14:23
    #32374427
Лох Позорный
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Access 2000 & Oracle. Null key (+)
В MS SQL - можно. Что для меня явилось откровением.
В аксесе - нельзя
...
Рейтинг: 0 / 0
13.01.2004, 14:24
    #32374430
Темный
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Access 2000 & Oracle. Null key (+)
ЛП, ловлю!! :))
...
Рейтинг: 0 / 0
13.01.2004, 14:33
    #32374446
Лох Позорный
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Access 2000 & Oracle. Null key (+)
Да не нашел я..
...
Рейтинг: 0 / 0
13.01.2004, 14:40
    #32374469
supertim
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Access 2000 & Oracle. Null key (+)
2 Темный
На вопрос, зачем в Оракловой БД Unique Key со свойством Nullable был дан простой ответ, типа не помню, но надо, и менять ничо низзя, иначе софт который с этой БД работает будет глючить (наверное).
В свободное от работы время сам лично убрал свойство Key, эффект потрясающий, таблица в Аксесе линкуется как надо, определяет совершенно другой ключ (Primary), соотвессно все путем, радость без границ (как будто я этого не знал :-). Но пришлось вернуть все взад. Начальство знаете ли :-(

2 ЛП
Вопрос наверное надо поставить так:
Есть ли возможность прилинковать таблицы, чтоб все данные отображались нормально ? А если нет, то какие методы стоит использовать.
Если есть желание и возможность - ссылочку пожаллста дайте, уважьте :-)

2 ALL
Могу привести для примера более подробные данные.
В Оракле таблица OFFICE:
ID_OFFICE ID_PARENT_OFFICE PHONE MEMO
1 Null 9999999 Офис 1
2 1 Null Подофис 1-1
3 1 Null Подофис 1-2
4 Null 8888888 Офис 2
5 4 Null Подофис 2-1
.......
ну и т.д.

ID_OFFICE - Primary Key, Non Nullable (обычный первичный ключ, не повторяется, Null быть не может. Access преобразует его как обычное ключевое поле)

PHONE - Unique Key, Nullable (уникальный ключ, не повторяется, но может быть Null, кстати сколько угодно раз. Если такое свойство есть, то Access преобразует как первичный ключ, естессно убирая автоматом свойство Nullable, отсюда видимо проблема с отображением данных, ID_OFFICE ключом уже не делается !)

ID_PARENT_OFFICE - Foreign Key, Nullable (хз, что за свойство, но точно знаю, что несуществующее в этой таблице значение не вставляется, что то типа проверки. Access ваще его не преобразовывает ни в какой ключ, получается простое поле)
...
Рейтинг: 0 / 0
13.01.2004, 14:47
    #32374487
АлексейК
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Access 2000 & Oracle. Null key (+)
в MS SQL так
[SRC]

SET ANSI_NULLS ON

SET ANSI_NULLS OFF

можно и по умолчанию сделать

еще замечены некоторые траблы без установленной опции правил сложения строки с значениями NULL - CONCAT_NULL_YIELDS_NULL
qwer + Null = Null или qwer + Null = qwer


как у ораклистов не знаю
...
Рейтинг: 0 / 0
13.01.2004, 14:51
    #32374494
Темный
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Access 2000 & Oracle. Null key (+)
FK - еесно не преобразует
PHONE - Unique Key - зачем, если есть PK?
...
Рейтинг: 0 / 0
13.01.2004, 14:53
    #32374503
Лох Позорный
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Access 2000 & Oracle. Null key (+)
Если в оракловой таблице есть первичный ключ (ID_OFFICE), то аксес и должен его цеплять в качестве первичного ключа. И на всякие там PHONE и прочую лабуду должен покласть с пробором. Если это не так - проверьте наличие всех сервиспаков на все что только можно.
Далее. При линковке таблиц через ОДБЦ (а к ораклу по другому и не выйдет) сам аксес спрашивает - какое поле (комбинацию полей) считать ключевым. Вот и укажите ему ID_OFFICE
Далее. Если указанные при линковке ключевые поля все-таки слетели (такое бывает, например, при обновлении связанных таблиц) - то есть способ повторно указать аксесу уникальную комбинацию. Для этого надо внутри аксеса (не внутри оракла!) выполнить запрос типа такого:
Код: plaintext
Create Unique Index IndexName On LinkedTableName (FieldName ASC/DESC)
...
Рейтинг: 0 / 0
13.01.2004, 14:55
    #32374506
Темный
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Access 2000 & Oracle. Null key (+)
ЛП вещалДалее. При линковке таблиц через ОДБЦ (а к ораклу по другому и не выйдет) сам аксес спрашивает - какое поле (комбинацию полей) считать ключевым. Вот и укажите ему ID_OFFICE
Аксес спрашивает про индекс только тогда, когда не находит сущ. ключа.
...
Рейтинг: 0 / 0
13.01.2004, 14:55
    #32374510
Темный
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Access 2000 & Oracle. Null key (+)
Например, на неиндексированной View
...
Рейтинг: 0 / 0
13.01.2004, 18:12
    #32374946
f2f
f2f
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Access 2000 & Oracle. Null key (+)
Подключись прогрммно. При этом он не умничает - делает только то, что сказали.
...
Рейтинг: 0 / 0
13.01.2004, 18:45
    #32374989
Темный
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Access 2000 & Oracle. Null key (+)
f2f заявилПодключись прогрммно. При этом он не умничает - делает только то, что сказали.
Только если в TableDefs добавлять
...
Рейтинг: 0 / 0
15.01.2004, 12:26
    #32376882
supertim
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Access 2000 & Oracle. Null key (+)
2 Темный & f2f
Ща рискнем и падключимси :-)
...
Рейтинг: 0 / 0
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Access 2000 & Oracle. Null key (+) / 18 сообщений из 18, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]