5 messaggi dal 02 dicembre 2002
utilizzo sql server
da qualche tempo non funzionano più le stored procedure che contengono un controllo di flusso del tipo:

IF @idStato=1
begin
SELECT * FROM tabellaUNO WHERE (Stato = @idStato)
end
else IF (2<=@idStato) and (@idStato<=5)
begin
SELECT * FROM tabellaDUE WHERE (Stato = @idStato)
end
else IF (0<=@idStato) and (@idStato<=1)
begin
SELECT * FROM tabellaTRE WHERE (Stato = @idStato)
end

i risultati sono validi solo in alcune condizioni del parametro
attualmente utilizzo la versione 2008 r2 di sql server

qualcuno ho lo stesso problema?
1.976 messaggi dal 27 luglio 2005
Contributi
salve,
aspandy wrote:
utilizzo sql server
da qualche tempo non funzionano più le stored procedure che contengono un controllo di flusso del tipo:
IF @idStato=1
begin
SELECT * FROM tabellaUNO WHERE (Stato = @idStato)
end
else IF (2<=@idStato) and (@idStato<=5)
begin
SELECT * FROM tabellaDUE WHERE (Stato = @idStato)
end
else IF (0<=@idStato) and (@idStato<=1)
begin
SELECT * FROM tabellaTRE WHERE (Stato = @idStato)
end
i risultati sono validi solo in alcune condizioni del parametro attualmente utilizzo la versione 2008 r2 di sql server
qualcuno ho lo stesso problema?

no, mai avuto problemi... ti vengolo sollevate eccezioni o cosa? saluti

Andrea Montanari
http://www.hotelsole.com - http://www.hotelsole.com/asql/index.php
5 messaggi dal 02 dicembre 2002
Andrea,
grazie per la tua attenzione

le eccezioni ci sono anche in Management Studio se i blocchi dei comandi select sono molto complicati (select in select o select in case when,etc. )
ma anche con sp molto semplici la risposta fallisce in alcuni dei casi quando la sp è richiamata dall'applicazione .net

andrea
1.976 messaggi dal 27 luglio 2005
Contributi
salve,
aspandy wrote:
Andrea,
grazie per la tua attenzione
le eccezioni ci sono anche in Management Studio se i blocchi dei comandi select sono molto complicati (select in select o select in case when,etc. ) ma anche con sp molto semplici la risposta fallisce in alcuni dei casi quando la sp è richiamata dall'applicazione .net andrea

riesci a riprodurre uno scenario che io possa provare? (CREATE TABLE(s) + CREATE PROCEDURE, anche non esagerato, ma che riproduca il problema)? grazie

Andrea Montanari
http://www.hotelsole.com - http://www.hotelsole.com/asql/index.php
5 messaggi dal 02 dicembre 2002
Andrea Montanari ha scritto:
salve,
aspandy wrote:
Andrea,
grazie per la tua attenzione
le eccezioni ci sono anche in Management Studio se i blocchi dei comandi select sono molto complicati (select in select o select in case when,etc. ) ma anche con sp molto semplici la risposta fallisce in alcuni dei casi quando la sp è richiamata dall'applicazione .net andrea

riesci a riprodurre uno scenario che io possa provare? (CREATE TABLE(s) + CREATE PROCEDURE, anche non esagerato, ma che riproduca il problema)? grazie



Andrea
grazie a te!

qui non posso
purtroppo le sp complesse hanno alcuni nomi dei campi che identificano 'molto da vicino' il cliente finale, una società multinazionale
rimapparli significherebbe un lavoro gravosissimo

andrea
1.976 messaggi dal 27 luglio 2005
Contributi
allora "sono in difficolta'"... o provi a sentire con il supporto clienti di Microsoft... oppure, sempre tu possa, puoi provare a fare un "estratto" e mandarmelo privatamente... nel caso io riscontri anomalie posso provare ad andare in escalation con il supporto Microsoft...
saluti..

Andrea Montanari
http://www.hotelsole.com - http://www.hotelsole.com/asql/index.php
5 messaggi dal 02 dicembre 2002
Tu in difficoltà?
ti ho inviato una richiesta di contatto su LinkedIN
ti chiedevo appunto un contatto diverso
se risolviamo sarà mia cura mettere a conoscenza della soluzione i membri di questo forum
grazie
a
5 messaggi dal 02 dicembre 2002
aspandy ha scritto:
se risolviamo sarà mia cura mettere a conoscenza della soluzione i membri di questo forum


è tutto un po' strano e complicato
l'errore si determina per una chiamata che prevede l'esistenza di un linked server

la sintassi è:
select * FROM
OPENQUERY([nomedellinkedserver],'EXECUTE dbo.sp_storedprocedure param1, param2')

l'errore restituisce il seguente messaggio:
The OLE DB provider "SQLNCLI10" for linked server "nomedellinkedserver" supplied inconsistent metadata for a column. The name was changed at execution time

ho cercato sui motori di ricerca
trovando questa 'strana' soluzione
http://devsharings.blogspot.com/2011/06/openquery-to-execute-query-on-other.html

funziona!
tuttavia, non ho alcuna idea del perchè sia necessario settare ad OFF la proprietà

andrea

Torna al forum | Feed RSS

ASPItalia.com non è responsabile per il contenuto dei messaggi presenti su questo servizio, non avendo nessun controllo sui messaggi postati nei propri forum, che rappresentano l'espressione del pensiero degli autori.