2012-07-31 21 views
9

Mam projekt wyzwalacza SQL Server CLR, który został utworzony w VS2008. Otwarcie projektu w VS2012 nie stanowi żadnego problemu, ale po zbudowaniu rozwiązania dostaję błędy SQL71501, a Trigger: [...] ma nierozwiązane odniesienie do obiektu [...].Nie można dodać odwołania do bazy danych do projektu VS2012

Na podstawie mojego odczytu wynika to z braku odniesienia do bazy danych w projekcie. Gdy próbuję dodać odwołanie do bazy danych, pojawia się okno dialogowe Add Reference Database, który daje mi trzy opcje:

  • projektów bazy danych w obecnym rozwiązaniu ** opcja ta jest nieaktywna/niepełnosprawnego
  • bazy danych systemu (tylko pokazuje DB systemu)
  • Aplikacja warstwy danych (.dacpac) ** nie ma opcji do wyboru, ponieważ nie był to sposób tworzenia projektu.

Dalsze czytanie sugerowało, że powodem braku projektów baz danych do wyboru dla pierwszej opcji jest to, że nie dodano połączeń danych za pomocą Eksploratora serwera. W moim przypadku są na pewno obecne połączenia danych, a gdy mój projekt jest otwarty, mogę szczęśliwie przeglądać bazę danych, przeglądać dane itp.

Pomyślałem, że może to mieć coś wspólnego z docelową strukturą, więc mam Próbowałem kierować 3.5, a nawet 2, ale pojawia się ten sam problem.

Czuję, że brakuje mi czegoś fundamentalnego, ale po prostu nie mogę tego rozwiązać. Każda pomoc byłaby WSPANIAŁA doceniona.

Odpowiedz

6

znalazłem workarroud do tego, nie jest optymalna, ale przynajmniej to działa:

spróbować tej - otwarte serwera SQL Object Explorer - utworzyć nowe połączenie z serwerem - kliknij prawym przyciskiem myszy na bazie danych i wybierz Utwórz nowy projekt ... - kreator utworzy projekt z wszystkimi dołączonymi do niego odnośnikami i ciągiem połączenia.

Pozdrawiam!

7

Widziałem, że to okno dialogowe nie włącza przycisku "OK", ponieważ zmienna bazy danych, która jest domyślna, jest nieprawidłowa (w moim przypadku miała "." W nim).

Kluczem do tego jest błąd polegający na tym, że tekst w polu "Przykład użycia" zawiera komunikat o błędzie - trudno go zobaczyć, ponieważ jest ciemnoszary na jasnoszarym.

Edycja bazy danych Nazwa zmiennej to rozwiązuje.

+0

Usunięcie kropki pracował dla mnie dobrze. Za pomocą tej zmiennej można tworzyć odniesienia między bazami danych: [$ (ServerVariable)]. [$ (DatabaseVariable)]. [Schemat]. [ObjectDefinition] – Jowen

0

zmieniłem moja odpowiedź

Problemem jest to, że nie można zakładać, wkładka jest jednorzędowe i naprawdę można tylko odwoływać klucz podstawowy jako pojedyncza wartość wewnątrz wyzwalacza

Powiązane problemy