Konnte nicht gefunden werden, server 'DATABASE_NAME' in der sys.Server Fehler
Den code unten eingebettet ist in eine .sql-Datei in eine vb.net Projekt. Es gibt mir eine Fehlermeldung:
Konnte nicht gefunden werden, server 'DATABASE_NAME' in der sys.Server. Stellen Sie sicher, dass der richtige ServerName angegeben wurde. Falls erforderlich, führen Sie die gespeicherte Prozedur sp_addlinkedserver um den server hinzufügen sys.Server.
Überprüfte ich im sys.server und die LinkedDatabaseName zurück, wenn ich ein wählen Sie * aus sys.Server
Hier ist der code wo ich den Fehler....
-----------------------------------
-- Obs Set Obs Set Obs Item Xref
-----------------------------------
-- STEP 1: txmr_TABLE1 to exp_TABLE1
DELETE FROM LinkedDatabaseName...exp_TABLE1
Select distinct newid() as GUID,
b.ObsSetCode as 'parObsSetCode',
c.ObsSetCode as 'chObsSetCode',
d.ObsItemCode as 'chObsItemCode'
Into #tmp_exp_TABLE1
From $$DATABASE_NAME$$..txmr_TABLE1 a
Inner Join $$DATABASE_NAME$$..txmr_obs_set b On a.parObsSetGUID = b.GUID
Left Join $$DATABASE_NAME$$..txmr_obs_set c On a.chObsSetGUID = c.GUID
Left Join $$DATABASE_NAME$$..txmr_obs_item d On a.chObsItemGUID = d.GUID
Order By b.ObsSetCode
Select * From #tmp_exp_TABLE1
EXEC $$DATABASE_NAME$$..dbo.txmr_ExtractPOCIS '#tmp_exp_TABLE1',
'$$DATABASE_NAME$$.dbo.txmr_TABLE1_chg',
@FromVersion,
@ToVersion;
INSERT INTO LinkedDatabaseName...exp_TABLE1 (GUID, parObsSetCode, chObsSetCode, chObsItemCode)
SELECT GUID, parObsSetCode, chObsSetCode, chObsItemCode
FROM #tmp_exp_TABLE1
ORDER BY parObsSetCode, chObsSetCode;
DROP TABLE #tmp_exp_TABLE1;
SELECT COUNT(*), 'exp_TABLE1' FROM LinkedDatabaseName...exp_TABLE1;
-- STEP 2: txmr_TABLE1_chg to exp_TABLE1_chg
DELETE FROM LinkedDatabaseName...exp_TABLE1_chg;
INSERT INTO LinkedDatabaseName...exp_TABLE1_chg (ChangeID, DateModified, parObsSetCode, chObsSetCode, chObsItemCode, RationaleLink, RationaleFreeText)
SELECT a.GUID as 'ChangeID',
a.DateModified as 'DateModified',
b.ObsSetCode as 'parObsSetCode',
c.ObsSetCode as 'chObsSetCode',
d.ObsItemCode as 'chObsItemCode',
r.RationaleID as 'RationaleLink',
a.RationaleFreeText as 'RationaleFreeText'
FROM $$DATABASE_NAME$$..txmr_TABLE1_chg a
INNER JOIN $$DATABASE_NAME$$..txmr_obs_set b ON a.parObsSetGUID = b.GUID
LEFT JOIN $$DATABASE_NAME$$..txmr_obs_set c ON a.chObsSetGUID = c.GUID
LEFT JOIN $$DATABASE_NAME$$..txmr_obs_item d ON a.chObsItemGUID = d.GUID
LEFT JOIN $$DATABASE_NAME$$..txmr_rationale r ON a.RationaleGUID = r.GUID
WHERE @StartDate <= a.DateModified AND @EndDate > a.DateModified
ORDER BY a.DateModified, b.ObsSetCode;
SELECT COUNT(*), 'exp_TABLE1_chg'
FROM LinkedDatabaseName...exp_TABLE1_chg;
Blöde Frage, aber wenn Sie sagen, DATABASE_NAME meinst du den Namen der Datenbank oder der name der Datenbank-server?
OK, ich gehe davon aus, dass es eine Sprache Problem hier; ich war nicht für Sie anrufen (oder deine Frage) dumm, ich war mit einem idiom zu verstehen, "das kann eine irrelevante Frage", bezieht sich auf die Frage, die ich Ihnen.
Neben der Antwort, die unten gegeben werden, dies könnte passieren, wenn dein DB-name Perioden. Dann müssen Sie Kapseln Sie mit [], [$$DATABASE_NAME$$]
OK, ich gehe davon aus, dass es eine Sprache Problem hier; ich war nicht für Sie anrufen (oder deine Frage) dumm, ich war mit einem idiom zu verstehen, "das kann eine irrelevante Frage", bezieht sich auf die Frage, die ich Ihnen.
Neben der Antwort, die unten gegeben werden, dies könnte passieren, wenn dein DB-name Perioden. Dann müssen Sie Kapseln Sie mit [], [$$DATABASE_NAME$$]
InformationsquelleAutor User1 | 2013-12-27
Du musst angemeldet sein, um einen Kommentar abzugeben.
Das problem ist, dass es inkonsistente Verwendungen der $$DATABASE_NAME$$ Ersatzzeichenfolge. In den meisten Fällen ist es verwendet, um auf eine konkrete Datenbank
aber in der exec-string:
gibt es zu viele Perioden, was bedeutet, dass es jetzt die auf einen anderen server und keine Datenbank.
Änderung dieser Anweisung:
sollte das problem beheben.
InformationsquelleAutor competent_tech