9

Sto tentando di aggiungere un tableadapter a una stored procedure in SQL Server 2005 Express. La stored procedure, tuttavia, utilizza una tabella temporanea denominata #temp. Durante la creazione dell'adattatore di tabella, Visual Studio lamenta "Oggetto sconosciuto" #temp "" e dice che la stored procedure restituisce 0 colonne. Questo è problematico perché uso quella stored procedure con un report di cristallo e ho bisogno di quelle colonne.Perché il set di dati digitato non è simile alle tabelle temporanee?

Come posso risolvere questo?

risposta

30

Bizarre. Secondo this si aggiunge

IF 1=0 BEGIN 
    SET FMTONLY OFF 
END 

a destra SP dopo la parte AS della SP e funziona. Visual Studio ora non ha problemi con esso. Non ho idea del perché funzioni così o perché funzioni, ma lo fa.

+2

Qualcuno probabilmente ha una brutta idea. Mi ha aiutato. +1 –

+0

tutto quello che posso dire è ... wow. questo funziona Questo è un grosso problema per me. Uso tabelle temporanee che devono essere uniche per ogni istanza di un report che viene eseguito. Impossibile che le tabelle vengano sovrascritte da un'altra workstation. Avevo bisogno delle tabelle temporanee per lavorare con la mia stored procedure. Grazie. –

1

Questo può essere un thread precedente e la risposta viene trovata, ma quando qualcuno entra nella procedura memorizzata dopo e vede questo codice, in realtà non capisce. C'è un altro modo per farlo correttamente ed è dichiarare semplicemente il tavolo come una variabile in questo modo:

DECLARE @temp TABLE 
(
    SomeText1 nvarchar(255), 
    SomeText2 nvarchar(255) 
) 

Inoltre, non dimenticare di rimuovere la tabella GOCCIA alla fine.

PS: Se è davvero necessario utilizzare la tabella temporanea perché è necessario crearla, è necessario scrivere il codice fornito nella risposta precedente. Spero che questo ti aiuti.