Unterschiedliche Ergebnisse in SP mit ADO.NET

16/07/2008 - 03:37 von Uwe Ricken | Report spam
Hallo zusammen,

ich habe ein Problem, bei dem ich nich so richtig weiß, warum dieser
"Fehler" auftritt.

Szenario:
SQL Server 2000 SP4

Eine DB "X" besitzt Views / SP / Functions, die sich Daten aus einer anderen
DB "Y" holen.
U. A. habe ich eine SP mit folgendem Inhalt:

IF EXISTS (SELECT * FROM dbo.sysObjects WHERE name = 'proc_www_RoleList' AND
type = 'P')

DROP PROC dbo.proc_www_RoleList

GO

CREATE PROC dbo.proc_www_RoleList

@EMailAddress varchar(255)

WITH ENCRYPTION

AS

SET NOCOUNT ON

DECLARE @ClsId int

DECLARE @SId int

DECLARE @PendingMembership bit

DECLARE @CompanyMembership bit

DECLARE @IndividualMembership bit

DECLARE @ParentNationality varchar(20)

DECLARE @IndividualShortCut varchar(5)

DECLARE @USE_TEST bit

SET @USE_TEST = dbo.fn_sys_GetParameterValue('USE_TEST')


IF (@USE_TEST = 1)

BEGIN

SET @ClsId = MemberAdmin_TestSystem.dbo.fn_sys_GetClassId('Committees')

SET @IndividualShortCut =
MemberAdmin_TestSystem.dbo.fn_sys_GetConfigString('IndividualShortCut')

SET @SId = dbo.fn_sys_GetSIdFromEMailAddress(@EMailAddress,
@IndividualShortCut)

SET @CompanyMemberShip =
ISNULL(MemberAdmin_TestSystem.dbo.fn_sys_GetPropertyValue(@SId, 61), 0)

SET @IndividualMembership =
ISNULL(MemberAdmin_TestSystem.dbo.fn_sys_GetPropertyValue(@SId, 52), 0)

SET @ParentNationality =
MemberAdmin_TestSystem.dbo.fn_sys_GetPropertyValue(@SId, 11)

SET @PendingMembership =
ISNULL(MemberAdmin_TestSystem.dbo.fn_sys_GetPRopertyValue(@SId, 98), 0)

END

ELSE

BEGIN

SET @ClsId = MemberAdminB.dbo.fn_sys_GetClassId('Committees')

SET @IndividualShortCut =
MemberAdminB.dbo.fn_sys_GetConfigString('IndividualShortCut')

SET @SId = dbo.fn_sys_GetSIdFromEMailAddress(@EMailAddress,
@IndividualShortCut)

SET @CompanyMemberShip =
ISNULL(MemberAdminB.dbo.fn_sys_GetPropertyValue(@SId, 61), 0)

SET @IndividualMembership =
ISNULL(MemberAdminB.dbo.fn_sys_GetPropertyValue(@SId, 52), 0)

SET @ParentNationality = MemberAdminB.dbo.fn_sys_GetPropertyValue(@SId, 11)

SET @PendingMembership =
ISNULL(MemberAdminB.dbo.fn_sys_GetPRopertyValue(@SId, 98), 0)

END

SELECT @USE_TEST AS Test,

@SId AS SId,

@CompanyMembership AS CompanyIsMember,

@IndividualMembership As IndividualIsMember,

@PendingMembership AS PendingMembership

Die Ergebnismenge ist bei Ausführung im SSMS absolut korrekt - es werden die
korrekten Werte angezeigt.
Nun habe ich ein ASPX-Seite, in der die SP ausgeführt werde und erhalten
insbesonder für die Ermittlung der Variablen @CompanyMembership IMMER den
Wert 0 obwohl ich im SSMS sehr wohl die korrekten Informationen erhalte.

Gibt es bei ADO.NET ev. etwas zu berücksichtigen, was ich übersehen habe:



Gruß, Uwe Ricken
MCP for SQL Server 2000 Database Implementation

db-Berater GmbH - 64390 Erzhausen
http://www.db-berater.de
http://www.memberadmin.de
http://www.conferenceadmin.de
____________________________________________________
dbdev: http://www.dbdev.org
FAQ: http://www.donkarl.com/AccessFAQ.htm
 

Lesen sie die antworten

#1 Uwe Ricken
16/07/2008 - 03:42 | Warnen spam
Sorry, noch was vergessen.
Ich führe natürlich die SP unter dem gleichen Account sowohl im SSMS als
auch in der ASPX-Seite aus (ConnectionString)

Vielen Dank für Eure Hilfe...


Gruß, Uwe Ricken
MCP for SQL Server 2000 Database Implementation

db-Berater GmbH - 64390 Erzhausen
http://www.db-berater.de
http://www.memberadmin.de
http://www.conferenceadmin.de
____________________________________________________
dbdev: http://www.dbdev.org
FAQ: http://www.donkarl.com/AccessFAQ.htm

Ähnliche fragen