Hallo ihr Lieben,
wenn ich FlowFact (Programm, welches seine Daten in einer Datenbank speichert) öffne, kommt folgende Fehlermeldung:
Entweder BOF oder EOF ist True, oder der aktuelle Datensatz wurde gelöscht. Der angeforderte Vorgang benötigt einen aktuellen Datensatz.
Da ich mich mit der Script-Sprache nicht auskenne, sagt mir der Script demzufolge auch nichts. Zumindest, kann ich nicht sagen, ob bzw. wo ein Fehler im Script sein soll. Da ich nun aber nicht 100 Seiten posten will, erstmal ein Teil des Scrips (der Teil, wo zumindest irgendwas mit Fehler steht):
---------------------------------------------------------------------------------------------
---------------------------------------------------------------------------------------------
Es wäre sehr nett, wenn jemand von euch ne Idee hätte.
Vielen lieben Dank im Voraus
Gruß
Anita
wenn ich FlowFact (Programm, welches seine Daten in einer Datenbank speichert) öffne, kommt folgende Fehlermeldung:
Entweder BOF oder EOF ist True, oder der aktuelle Datensatz wurde gelöscht. Der angeforderte Vorgang benötigt einen aktuellen Datensatz.
Da ich mich mit der Script-Sprache nicht auskenne, sagt mir der Script demzufolge auch nichts. Zumindest, kann ich nicht sagen, ob bzw. wo ein Fehler im Script sein soll. Da ich nun aber nicht 100 Seiten posten will, erstmal ein Teil des Scrips (der Teil, wo zumindest irgendwas mit Fehler steht):
---------------------------------------------------------------------------------------------
Code:
BEGIN CREATE TABLE [dbo].[Bibliothek]( [DSN] [uniqueidentifier] ROWGUIDCOL NOT NULL, [ANGELEGT] [datetime] NULL, [TOUCH] [datetime] NULL, [Verfasser] [varchar](100) NULL, [Titel] [varchar](200) NULL, [Sachgebiet] [varchar](100) NULL, [Raum] [varchar](100) NULL, [Stichwort] [varchar](100) NULL, [NOTIZ] [text] NULL, [stamp] [timestamp] NOT NULL, CONSTRAINT [Bibliothek_DSN] PRIMARY KEY NONCLUSTERED ( [DSN] ASC )WITH (PAD_INDEX = OFF, IGNORE_DUP_KEY = OFF, FILLFACTOR = 90) ON [PRIMARY] ) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER OFF GO IF NOT EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'[dbo].[GetAktWhere]') AND type in (N'P', N'PC')) BEGIN EXEC dbo.sp_executesql @statement = N'CREATE proc [dbo].[GetAktWhere] @SEL_Part nVarchar(4000), @where ntext, @archiv int AS SET NOCOUNT ON -- dies ist wichtig für Updatbare Recordsets DECLARE @SELECTSTR nvarchar(4000) /* nText kann nicht als lokare Variable verwendet werden */ /* angeblich könnte nund die Abfrage mehr als 8000 Zeichen enthalten, aber es funktioniert doch nicht Fehler z.B. (bei Übergaben ohne N'': Fehler beim Konvertieren von Datentyp text in ntext. aber mit : SqlDumpExceptionHandler: Prozess 11 erzeugte eine schwere Ausnahmebedingung c0000005 EXCEPTION_ACCESS_VIOLATION. SQL Server beendet diesen Prozess.A */ CREATE TABLE #_akt (DSN uniqueidentifier ,AKT_DSN uniqueidentifier ) CREATE INDEX IND_DSN on #_akt (DSN ) CREATE INDEX IND_AKT_DSN on #_akt (AKT_DSN ) INSERT INTO #_akt EXEC sp_executesql @where WHILE @@rowcount > 0 BEGIN -- Begin 1.WHILE Block INSERT INTO #_akt Select DSN, AKT_DSN from AKT where DSN IN ( select AKT_DSN from #_akt ) AND DSN NOT IN ( select DSN from #_akt ) END -- ENDE 1.WHILE Block -- 2. jetzt noch von unten nach oben INSERT INTO #_akt Select DSN, AKT_DSN from AKT where AKT_DSN in (select DSN from #_akt ) AND DSN NOT IN ( select DSN from #_akt ) WHILE @@rowcount > 0 BEGIN -- Begin 2.WHILE Block insert into #_akt Select DSN, AKT_DSN from AKT where AKT_DSN IN ( select DSN from #_akt ) AND DSN NOT IN ( select DSN from #_akt ) END -- ENDE 2.WHILE Block /*Jetzt alle zusammengesammelten Datensätze zurückgeben, mit den ursp. Select klausel*/ /*Jetzt alle zusammengesammelten Datensätze zurückgeben, mit den ursp. Select klausel*/ IF @archiv = 0 SET @SELECTSTR = @SEL_Part + '' Where AKT.DSN in (Select DSN from #_akt) and AKT.FARCHIV = 0'' else SET @SELECTSTR = @SEL_Part + '' Where AKT.DSN in (Select DSN from #_akt) '' EXEC sp_executesql @SELECTSTR /* wenn varchar verwendet werden soll muss die in der Form EXEC ( ''irdend_eine-Abfrage'' ) ! Wichtig sind die Klammern */' END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'[dbo].[GetChildrenAD]') AND type in (N'P', N'PC'))
Es wäre sehr nett, wenn jemand von euch ne Idee hätte.
Vielen lieben Dank im Voraus
Gruß
Anita
Comment