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

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

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

Вопрос:
Че делать то ? Как сделать, чтоб данные в таблице были правильно представлены ? Может как-нибудь без таблицы обойтись ?
...
Рейтинг: 0 / 0
Access 2000 & Oracle. Null key (+)
    #32374294
Фотография Темный
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Начнем с самого начала...
1) Зачем нужен ключ с пустыми значениями?
2) Null = Null, т.е. Null в качестве ключа можно занести только ОДИН раз? см. п.1
...
Рейтинг: 0 / 0
Access 2000 & Oracle. Null key (+)
    #32374303
Фотография Лох Позорный
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2 Темный
Однако Null <> Null
О чем в свое время уже было обсуждение. Как раз применительно к уникальным индексам. Правда, там обсуждался не оракл, а аксес и MS SQL
...
Рейтинг: 0 / 0
Access 2000 & Oracle. Null key (+)
    #32374402
Фотография Темный
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ЛП, швырни, плиз, ссылкой в меня!
...
Рейтинг: 0 / 0
Access 2000 & Oracle. Null key (+)
    #32374405
Фотография Темный
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Нда...
Равнется ли один кусок Великое ничто другому куску Великого ничто?
...
Рейтинг: 0 / 0
Access 2000 & Oracle. Null key (+)
    #32374422
Фотография Артист
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Null <> Null
на мс скуль сервере по моему можно выставить чтоб Null = Null, или ошибаюсь?
...
Рейтинг: 0 / 0
Access 2000 & Oracle. Null key (+)
    #32374427
Фотография Лох Позорный
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
В MS SQL - можно. Что для меня явилось откровением.
В аксесе - нельзя
...
Рейтинг: 0 / 0
Access 2000 & Oracle. Null key (+)
    #32374430
Фотография Темный
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ЛП, ловлю!! :))
...
Рейтинг: 0 / 0
Access 2000 & Oracle. Null key (+)
    #32374446
Фотография Лох Позорный
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Да не нашел я..
...
Рейтинг: 0 / 0
Access 2000 & Oracle. Null key (+)
    #32374469
supertim
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
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
Access 2000 & Oracle. Null key (+)
    #32374487
Фотография АлексейК
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
в MS SQL так
[SRC]

SET ANSI_NULLS ON

SET ANSI_NULLS OFF

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

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


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


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