Hilft auch nichts , danke trotzdem . wird wohl noch weitere tage mit meiner prozedur verbringen.
-----Urspr�ngliche Nachricht----- Von: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] Im Auftrag von Pessner, Andreas Gesendet: Mittwoch, 26. Mai 2004 16:44 An: [EMAIL PROTECTED] Betreff: AW: [Asp.net] stored prozedure Mein SQL Guru meinte gerade - das es sein kann - das Deine �bergaben automatisch abgeschnitten werden! Somit kann es passieren - das Deine �bergebenen Strings mit dem SqlDbType VarChar bei 30 Zeichen (Standarteinstellung) abgeschnitten werden! Das k�nnte vielleicht der Grund sein! Das m�sste dann so aussehen! Dim myParm As SqlClient.SqlParameter = New SqlClient.SqlParameter("@select","select KategorieBezeichnung from V_Planungsdaten_Detail group by KategorieBezeichnung"); myCommand.Parameters.Add(myParm); Versuche - das mal! -----Urspr�ngliche Nachricht----- Von: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] Im Auftrag von Brunmair, Patrick Gesendet: Mittwoch, 26. Mai 2004 15:39 An: [EMAIL PROTECTED] Betreff: AW: [Asp.net] stored prozedure Die genaue Fehlermeldung : System.Data.SqlClient.SqlException: Falsche Syntax in der N�he des END-Schl�sselwortes. at System.Data.SqlClient.SqlCommand.ExecuteReader(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream) at System.Data.SqlClient.SqlCommand.ExecuteReader() at PPS.PlanungsDaten.Page_Load(Object sender, EventArgs e) in C:\Inetpub\wwwroot\p\PPS\PlanungsDaten.aspx.vb:line 75(line75 ist jene in der das execute ausgef�hrt wird) Meine Crosstab: CREATE PROCEDURE crosstab @select varchar(8000), @sumfunc varchar(100), @pivot varchar(100), @table varchar(100), @where varchar(1000)='1=1' AS DECLARE @sql varchar(8000), @delim varchar(1) SET NOCOUNT ON SET ANSI_WARNINGS OFF EXEC ('SELECT ' + @pivot + ' AS pivot INTO ##pivot FROM ' + @table + ' WHERE 1=2') EXEC ('INSERT INTO ##pivot SELECT DISTINCT ' + @pivot + ' FROM ' + @table + ' WHERE ' + @where + ' AND ' + @pivot + ' Is Not Null') SELECT @sql='', @sumfunc=stuff(@sumfunc, len(@sumfunc), 1, ' END)' ) SELECT @delim=CASE Sign( CharIndex('char', data_type)+CharIndex('date', data_type) ) WHEN 0 THEN '' ELSE '''' END FROM tempdb.information_schema.columns WHERE table_name='##pivot' AND column_name='pivot' SELECT @[EMAIL PROTECTED] + '''' + convert(varchar(100), pivot) + ''' = ' + stuff(@sumfunc,charindex( '(', @sumfunc )+1, 0, ' CASE ' + @pivot + ' WHEN ' + @delim + convert(varchar(100), pivot) + @delim + ' THEN ' ) + ', ' FROM ##pivot DROP TABLE ##pivot SELECT @sql=left(@sql, len(@sql)-1) SELECT @select=stuff(@select, charindex(' FROM ', @select)+1, 0, ', ' + @sql + ' ') EXEC (@select) SET ANSI_WARNINGS ON GO Und meine funktion getPeriodenplanung ( die funktion von meinem letzten parameter) CREATE FUNCTION GetPeriodenPlanung (@Planung integer) RETURNS @Perioden TABLE (Planung int, Periode INT, Bez varchar(50)) AS BEGIN declare @P integer, @D varchar(50), @vonPeriode integer, @bisPeriode integer select @vonPeriode=pvonperiode, @bisPeriode = pbisperiode from T_PPS_Planung where ID = @Planung set @P = @bisPeriode select @D = PerBezeichnung from T_PPS_Periode where ID = @bisPeriode insert @Perioden select @Planung,@bisPeriode, @D while @P <> @vonPeriode BEGIN SELECT @P = perVorperiode, @D=PerBezeichnung from T_PPS_Periode where ID = @P insert @Perioden select @Planung,@P,@D END RETURN END -----Urspr�ngliche Nachricht----- Von: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] Im Auftrag von Pessner, Andreas Gesendet: Mittwoch, 26. Mai 2004 15:31 An: [EMAIL PROTECTED] Betreff: AW: [Asp.net] stored prozedure Also f�r den Fall kann ich mit den momentanen Infos leider nur raten! Ich sehe momentan nur eine L�sung - Du m�sstest Deinen Prozedur Quelltext mal hier posten - sowie mal die genaue Fehlermeldung! -----Urspr�ngliche Nachricht----- Von: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] Im Auftrag von Brunmair, Patrick Gesendet: Mittwoch, 26. Mai 2004 15:27 An: [EMAIL PROTECTED] Betreff: AW: [Asp.net] stored prozedure Ne sql exception , aber wenn ich mein statement in den queryanalyser kopier dann funktioniert es ! Ich versteh das alles nicht mehr ganz... -----Urspr�ngliche Nachricht----- Von: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] Im Auftrag von Pessner, Andreas Gesendet: Mittwoch, 26. Mai 2004 15:24 An: [EMAIL PROTECTED] Betreff: AW: [Asp.net] stored prozedure Ist das ne SQL Exception - oder ne DOTNET Exception?? -----Urspr�ngliche Nachricht----- Von: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] Im Auftrag von Brunmair, Patrick Gesendet: Mittwoch, 26. Mai 2004 14:53 An: [EMAIL PROTECTED] Betreff: AW: [Asp.net] stored prozedure Hi , ich bekomm trotzdem diesen fehler, fallt dir noch etwas auf ? hier mein code: myCommand = New SqlClient.SqlCommand("crosstab", myConnection) myCommand.CommandType = CommandType.StoredProcedure Dim myParm As SqlClient.SqlParameter = New SqlClient.SqlParameter("@select", SqlDbType.VarChar) myParm.Value = "select KategorieBezeichnung from V_Planungsdaten_Detail group by KategorieBezeichnung" myCommand.Parameters.Add(myParm) myParm = New SqlClient.SqlParameter("@sumfunc", SqlDbType.VarChar) myParm.Value = "sum(PDAnzahl)" myCommand.Parameters.Add(myParm) myParm = New SqlClient.SqlParameter("@pivot", SqlDbType.VarChar) myParm.Value = "PerDatum" myCommand.Parameters.Add(myParm) myParm = New SqlClient.SqlParameter("@table", SqlDbType.VarChar) myParm.Value = "V_Planungsdaten_Detail" myCommand.Parameters.Add(myParm) myParm = New SqlClient.SqlParameter("@where", SqlDbType.VarChar) myParm.Value = "Planung = 8 and Periode in (select Periode from getperiodenplanung(8)) " myCommand.Parameters.Add(myParm) myCommand.Connection.Open() Try myReader = myCommand.ExecuteReader() Catch ex As SqlClient.SqlException Label1.Text = ex.ToString End Try -----Urspr�ngliche Nachricht----- Von: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] Im Auftrag von Pessner, Andreas Gesendet: Mittwoch, 26. Mai 2004 14:11 An: [EMAIL PROTECTED] Betreff: AW: [Asp.net] stored prozedure So wie ich es geschrieben habe! Quasi - du nimmst immer den Parameter - und musst den immer anf�gen! (Achtung das habe ich unten vergessen!!!!) SqlParameter myParm = new SqlParameter("@Planung", SqlDbType.Int); myParm.Value = 8; // Hier Deinen Wert rein! myCommand.Parameters.Add(myParm); myParm = new SqlParameter("@Anweisung", SqlDbType.NVarChar); myParm.Value = "Select ....."; myCommand.Parameters.Add(myParm); und so weiter.... - so viele Parameter wie Du hast! Nur immer das "@....." muss mit dem Parameter Deiner Prozedur �berein stimmen! -----Urspr�ngliche Nachricht----- Von: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] Im Auftrag von Brunmair, Patrick Gesendet: Mittwoch, 26. Mai 2004 14:00 An: [EMAIL PROTECTED] Betreff: AW: [Asp.net] stored prozedure Noch ne frage , du hast geschrieben ich muss mir f�r die parameter eine veriable anlegen : dim myParm as sqlparameter. wenn ich jett mehr parameter hab , kann ich diese var dann �berschreiben oder muss f�r jeden parameter eine variable her?? -----Urspr�ngliche Nachricht----- Von: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] Im Auftrag von Pessner, Andreas Gesendet: Mittwoch, 26. Mai 2004 13:56 An: [EMAIL PROTECTED] Betreff: AW: [Asp.net] stored prozedure PS viel gl�ck ;-) Aber mach das mit den Parametern - ist echt deutlich sicherer! Achso Tipp: nimm gleich den NameSpace SQLClient mit rein - dann brauchste das net jedes mal mit hinschreiben! Also oben rein: using System.Data.SqlClient; -----Urspr�ngliche Nachricht----- Von: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] Im Auftrag von Brunmair, Patrick Gesendet: Mittwoch, 26. Mai 2004 13:54 An: [EMAIL PROTECTED] Betreff: AW: [Asp.net] stored prozedure Danke erstmals wird ich probieren , hab schon so lange f�r die prozedur gebraucht ( war meine erste etwas gr�ssere und dann freut man sich wenn's hinhaut ...und jetzt das mit dem code :( Danke nochmal -----Urspr�ngliche Nachricht----- Von: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] Im Auftrag von Pessner, Andreas Gesendet: Mittwoch, 26. Mai 2004 13:50 An: [EMAIL PROTECTED] Betreff: AW: [Asp.net] stored prozedure Huch - da sind ja einige Syntaxfehler drin - ich versuche mal ein bisschen zu ordnen - kann aber net versprechen dass ich alle finde! Der Aufruf sollte so aussehen! myCommand = new SqlCommand("crosstab", myConnection); myCommand.CommandType = CommandType.StoredProcedure; // Dar�ber solltest Du die Parameter richtig �bergeben - dann hast Du gleich nen Schutz gegen SQL Injection // Das baust Du so zusammen - das Du alle Parameter einzeln an dein Command �bergibst! SqlParameter myParm = new SqlParameter("@Planung", SqlDbType.Int); myParm.Value = 8; // Hier Deinen Wert rein! myParm = new SqlParameter("@Anweisung", SqlDbType.NVarChar); myParm.Value = "Select ....."; usw. myConnection.Open(); SqlDataReader myReader = myCommand.ExecuteReader(); While (myReader.Read()) { // Hier jetzt rein - was mit den Daten gemacht werden soll! } myReader.Close(); myConnection.Close(); Quelle: ms-help://MS.NETFrameworkSDKv1.1.DE/cpguidenf/html/cpconusingstoredprocedureswithcommand.htm (falls Du die Framework Doku bei Dir installiert hast) Das sollte dann auch so funktionieren - die Parameter m�ssen nat�rlich mit den Parametern der Prozedur �berein stimmen! So ich hoffe das hilft - ansonsten frag einfach! -----Urspr�ngliche Nachricht----- Von: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] Im Auftrag von Brunmair, Patrick Gesendet: Mittwoch, 26. Mai 2004 13:22 An: [EMAIL PROTECTED] Betreff: [Asp.net] stored prozedure Hallo liste , ich habe am sqlserver eine gespeicherte prozedur (crosstab) der ich einige parameter �bergeben muss. Am sqlserver sieht das so aus wenn ich die prozedur aufrufen will: EXEC crosstab 'select KategorieBezeichnung from V_Planungsdaten_Detail group by KategorieBezeichnung ', 'sum(PDAnzahl)', 'PerDatum', 'V_Planungsdaten_Detail', 'Planung = 8 and Periode in (select Periode from getperiodenplanung(8))' nun probier ich schon 2 tage ohne positiven ergebnis diese in meinem code aufzurufen. Ich bekomme immer die meldung das ich einen syntaxfehler in der n�he des schl�sselwortes END habe . Der prozeduraufruf in meinem code sieht so aus : myCommand = New SqlClient.SqlCommand("crosstab 'select KategorieBezeichnung from V_Planungsdaten_Detail group by KategorieBezeichnung ', 'sum(PDAnzahl)', 'PerDatum','V_Planungsdaten_Detail', 'Planung = 8 and Periode in (select Periode from getperiodenplanung(8))'", myConnection) With myCommand myCommand.CommandType = CommandType.Text myCommand.Connection.Open() myReader = .ExecuteReader() myReader.Close() End With Kann mir bitte jemand sagen was ich falsch mache , ich bin echt am verzweifeln. Danke ************************* _______________________________________________ This ASP.NET email is sponsored by: UDEX ProMenu.Net - Die Software f�r Navigation - Jetzt kostenlos testen! Tree- Style, Horizontal- Slide, Vertical- Slide. http://www.udexnet.com _______________________________________________ Asp.net Mailingliste, Postings senden an: [EMAIL PROTECTED] An-/Abmeldung und Suchfunktion unter: http://www.glengamoi.com/mailman/listinfo/asp.net ************************* ************************* _______________________________________________ This ASP.NET email is sponsored by: UDEX ProMenu.Net - Die Software f|r Navigation - Jetzt kostenlos testen! Tree- Style, Horizontal- Slide, Vertical- Slide. http://www.udexnet.com _______________________________________________ Asp.net Mailingliste, Postings senden an: [EMAIL PROTECTED] An-/Abmeldung und Suchfunktion unter: http://www.glengamoi.com/mailman/listinfo/asp.net ************************* ************************* _______________________________________________ This ASP.NET email is sponsored by: UDEX ProMenu.Net - Die Software f�r Navigation - Jetzt kostenlos testen! Tree- Style, Horizontal- Slide, Vertical- Slide. http://www.udexnet.com _______________________________________________ Asp.net Mailingliste, Postings senden an: [EMAIL PROTECTED] An-/Abmeldung und Suchfunktion unter: http://www.glengamoi.com/mailman/listinfo/asp.net ************************* ************************* _______________________________________________ This ASP.NET email is sponsored by: UDEX ProMenu.Net - Die Software f|r Navigation - Jetzt kostenlos testen! Tree- Style, Horizontal- Slide, Vertical- Slide. http://www.udexnet.com _______________________________________________ Asp.net Mailingliste, Postings senden an: [EMAIL PROTECTED] An-/Abmeldung und Suchfunktion unter: http://www.glengamoi.com/mailman/listinfo/asp.net ************************* ************************* _______________________________________________ This ASP.NET email is sponsored by: UDEX ProMenu.Net - Die Software f�r Navigation - Jetzt kostenlos testen! Tree- Style, Horizontal- Slide, Vertical- Slide. http://www.udexnet.com _______________________________________________ Asp.net Mailingliste, Postings senden an: [EMAIL PROTECTED] An-/Abmeldung und Suchfunktion unter: http://www.glengamoi.com/mailman/listinfo/asp.net ************************* ************************* _______________________________________________ This ASP.NET email is sponsored by: UDEX ProMenu.Net - Die Software f|r Navigation - Jetzt kostenlos testen! Tree- Style, Horizontal- Slide, Vertical- Slide. http://www.udexnet.com _______________________________________________ Asp.net Mailingliste, Postings senden an: [EMAIL PROTECTED] An-/Abmeldung und Suchfunktion unter: http://www.glengamoi.com/mailman/listinfo/asp.net ************************* ************************* _______________________________________________ This ASP.NET email is sponsored by: UDEX ProMenu.Net - Die Software f�r Navigation - Jetzt kostenlos testen! Tree- Style, Horizontal- Slide, Vertical- Slide. http://www.udexnet.com _______________________________________________ Asp.net Mailingliste, Postings senden an: [EMAIL PROTECTED] An-/Abmeldung und Suchfunktion unter: http://www.glengamoi.com/mailman/listinfo/asp.net ************************* ************************* _______________________________________________ This ASP.NET email is sponsored by: UDEX ProMenu.Net - Die Software f|r Navigation - Jetzt kostenlos testen! Tree- Style, Horizontal- Slide, Vertical- Slide. http://www.udexnet.com _______________________________________________ Asp.net Mailingliste, Postings senden an: [EMAIL PROTECTED] An-/Abmeldung und Suchfunktion unter: http://www.glengamoi.com/mailman/listinfo/asp.net ************************* ************************* _______________________________________________ This ASP.NET email is sponsored by: UDEX ProMenu.Net - Die Software f�r Navigation - Jetzt kostenlos testen! Tree- Style, Horizontal- Slide, Vertical- Slide. http://www.udexnet.com _______________________________________________ Asp.net Mailingliste, Postings senden an: [EMAIL PROTECTED] An-/Abmeldung und Suchfunktion unter: http://www.glengamoi.com/mailman/listinfo/asp.net ************************* ************************* _______________________________________________ This ASP.NET email is sponsored by: UDEX ProMenu.Net - Die Software f|r Navigation - Jetzt kostenlos testen! Tree- Style, Horizontal- Slide, Vertical- Slide. http://www.udexnet.com _______________________________________________ Asp.net Mailingliste, Postings senden an: [EMAIL PROTECTED] An-/Abmeldung und Suchfunktion unter: http://www.glengamoi.com/mailman/listinfo/asp.net ************************* ************************* _______________________________________________ This ASP.NET email is sponsored by: UDEX ProMenu.Net - Die Software f�r Navigation - Jetzt kostenlos testen! Tree- Style, Horizontal- Slide, Vertical- Slide. http://www.udexnet.com _______________________________________________ Asp.net Mailingliste, Postings senden an: [EMAIL PROTECTED] An-/Abmeldung und Suchfunktion unter: http://www.glengamoi.com/mailman/listinfo/asp.net ************************* ************************* _______________________________________________ This ASP.NET email is sponsored by: UDEX ProMenu.Net - Die Software f|r Navigation - Jetzt kostenlos testen! Tree- Style, Horizontal- Slide, Vertical- Slide. http://www.udexnet.com _______________________________________________ Asp.net Mailingliste, Postings senden an: [EMAIL PROTECTED] An-/Abmeldung und Suchfunktion unter: http://www.glengamoi.com/mailman/listinfo/asp.net ************************* ************************* _______________________________________________ This ASP.NET email is sponsored by: UDEX ProMenu.Net - Die Software f�r Navigation - Jetzt kostenlos testen! Tree- Style, Horizontal- Slide, Vertical- Slide. http://www.udexnet.com _______________________________________________ Asp.net Mailingliste, Postings senden an: [EMAIL PROTECTED] An-/Abmeldung und Suchfunktion unter: http://www.glengamoi.com/mailman/listinfo/asp.net *************************
