Использование .Net DataSet Designer и NVL () - PullRequest
0 голосов
/ 28 февраля 2012

Впервые я пытаюсь создать DataSet / TableAdapter в VS2010 DataSet Designer, используя запрос с объединением и функцией;NVL ().Обычно я использовал только отдельные таблицы базы данных, перетаскивая их в рабочую область дизайнера из проводника сервера.В этом случае я щелкнул правой кнопкой мыши и добавил TableAdapter и ввел следующий запрос:

SELECT a.primary_key, NVL(a.message, b.subject) as subject
FROM TableA a, TableB b
WHERE a.primary_key = b.primary_key (+) 
AND (a.time_stamp BETWEEN :time_start AND :time_end);

DataTable был создан с соответствующими столбцами.Проблема в том, что при попытке выполнить запрос к TableAdapter мне выдается ошибка:

Failed to enable constraints. One or more rows contain values violating non-null, unique, or foreign-key constraints.

Я не вижу ничего необычного в свойствах отдельных столбцов.Чего мне не хватает?

Спасибо!

Ответы [ 2 ]

2 голосов
/ 28 февраля 2012

скорее всего, это левое внешнее соединение, а предложение FROM отсутствует.

В прошлый раз, когда со мной происходили эти события, когда не было возвращено ни одной строки для b, но это было слишком давно, я даже забыл старый синтаксис объединения ... запустите запрос в анализаторе запросов или в ssms и сообщитеus:)

и этот запрос тоже:

select count(1) from tableB where primary_key not in (select primary_key from tableA) 
0 голосов
/ 28 февраля 2012

Обязательно установите для свойства "EnforceConstraints" on DataSet Level значение "false".

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...