SQL Server 2008 Einsteiger

Ohne den Reportserver zu kennen würde ich annehmen, das auch hier der entsprechende Benutzer unter Sicherheit \ Anmeldungen im SQL Studio zu finden ist.
 
Werbung:
Moin,
ich habe noch eine Frage zu diesem Code

SELECT TOP 1000 [id]
,[DateTime]
,[Bilanzkreis]
,[BHKW]
,[el_Arbeit]
,[el_Arbeit_delta]
,[Betriebsstunden]
,[Starts]
,[th_Arbeit]
,[th_Arbeit_delta]
,[Gas_cbm]
,[Gas_cbm_delta]
FROM [BioenergieDB].[dbo].[Protokoll_BHKW]

Wie kann ich mir anschauen was in der Tabelle "Protokoll_BHKW" steht, also welche BHKWs schon für die Abfrage eingetragen sind?
Ich möchte das Protokoll erweitern, LabVIEW seitig habe ich das schon gemacht.
Von vorne, ich möchte ein weiteres BHKW in die Tabelle einfügen, gleiche Datenabfrage wie bei den schon vorhandenen, aber
ich muss in der Tabelle "Protokoll_BHKW" das neue BHKW doch einfügen, oder nicht?! Momentan bekomme ich nämlich kein
neues BHKW angezeigt.
 
Mit SELECT * FROM [BioenergieDB].[dbo].[Protokoll_BHKW] siehst du alles (Spalten & Datensätze), was in der Tabelle steht.

Das Eintragen eines neuen Datensatzes macht normalerweise die Anwendung, das kann man aber auch manuell machen. Nur muss man wissen, was man tut, denn mit einem Eintrag in einer Tabelle ist es nicht unbedingt getan.

INSERT INTO [BioenergieDB].[dbo].[Protokoll_BHKW]([id],[DateTime],[Bilanzkreis],[BHKW],[el_Arbeit],[el_Arbeit_delta],[Betriebsstunden],[Starts],[th_Arbeit],[th_Arbeit_delta],[Gas_cbm],[Gas_cbm_delta]) VALUES(@Bilanzkreis,@BHKW,@el_Arbeit,@el_Arbeit_delta,@Betriebsstunden,@Starts,@th_Arbeit,@th_Arbeit_delta,@Gas_cbm,@Gas_cbm_delta)

Die @Variablen musst du mit den Werten füllen. Text muss in 'Text' eingesetzt werden.
 
Die @Variablen musst du mit den Werten füllen. Text muss in 'Text' eingesetzt werden.[/quote]

Ich habe jetzt auf verschiedene Möglichkeiten versucht die @Variablen mit Werten zu füllen, aber entweder ich bekomme Fehler 156 oder Syntaxfehler.
Wie genau muss das geschrieben werden?
 
z.B.:

INSERT INTO [BioenergieDB].[dbo].[Protokoll_BHKW]([id],[DateTime],[Bilanzkreis],[BHKW],[el_Arbeit],[el_Arbeit_delta],[Betriebsstunden],[Starts],[th_Arbeit],[th_Arbeit_delta],[Gas_cbm],[Gas_cbm_delta]) VALUES(99999,'2012-01-01 00:00:00.000',0,'asdf',NULL,NULL,0,0,NULL,NULL,NULL,NULL)

Aber, wenn du schon bei der Syntax eines einfachen INSERTs solche Probleme bekommst solltest du dich vieleicht erst einarbeiten und bitte nicht an die produktive DB gehen.
 
Manchmal sehe ich den Baum vor lauter Wäldern nicht, hatte eine Klammer vergessen zuzumachen.
Jetzt bekomme ich die Meldung:
Meldung 544
Ein expliziter Wert für die Identitätsspalte kan nicht in der "Protokoll_BHKW"-Tabelle eingefügt werden, wenn IDENTITY_INSERT auf OFF festgelegt ist.

Wo stell ich den Wert für IDENTITY_INSERT fest, den müsste ich dann ja auf ON festlegen.
 
Nein, das zu ändern führt mit hoher Warscheinlichkeit zu anderen Problemen. Ich denke mal der Primary Key der Tabelle (Die Spalte ID) wird von der DB automatisch gefüllt. Probier mal die ID Spalte mit dem INSERT nicht zu befüllen:

INSERT INTO [BioenergieDB].[dbo].[Protokoll_BHKW]([DateTime],[Bilanzkreis],[BHKW],[el_Arbeit],[el_Arbeit_delta],[Betriebsstunden],[Starts],[th_Arbeit],[th_Arbeit_delta],[Gas_cbm],[Gas_cbm_delta]) VALUES('2012-01-01 00:00:00.000',0,'asdf',NULL,NULL,0,0,NULL,NULL,NULL,NULL)
 
INSERT BioenergieDB.dbo.Protokoll_BHKW(
[DateTime]
,[Bilanzkreis]
,[BHKW]
,[el_Arbeit]
,[el_Arbeit_delta]
,[Betriebsstunden]
,[Starts]
,[th_Arbeit]
,[th_Arbeit_delta]
,[Gas_cbm]
,[Gas_cbm_delta])
VALUES('2012-01-23 10:59:11.000',0,'Meisenweg',NULL,NULL,0,0,NULL,NULL,NULL,NULL);

Bei diesem Quellcode bekomme ich die Meldung:
Meldung 242, Ebene 16, Status 3, Zeile 17
Bei der Konvertierung eines varchar-Datentyps in einen datetime-Datentyp liegt der Wert außerhalb des gültigen Bereichs.

Aber der Wert für das Datum ist doch korrekt geschrieben und hat vorher auch keinen Fehler ausgegeben?!
 
Oje zu früh gefreut.
Ich wollte in der Spalte Bilanzkreis einen anderen Wert eintragen und jetzt bekomme ich folgende Meldung.

Meldung 2627, Ebene 14, Status 1, Zeile 17
Verletzung der PRIMARY KEY-Einschränkung 'PK_Protokoll_BHKW'. Ein doppelter Schlüssel kann in das 'dbo.Protokoll_BHKW'-Objekt nicht eingefügt werden.
Die Anweisung wurde beendet.
 
Ich habe die Uhrzeit auf die aktuelle (wenn ich den Code debugge) gestetllt und dann funktionierts.
Nun habe ich aber das Problem, das wenn ich mir das ganze im Visual Studio anschaue ich dort nur noch die Daten von dem manuel eingefügten BHKW sehe und
nicht mehr die die automatisch abfegragt werden. Im SQL Server Management Studio sehe ich noch alle Daten.

Was ist das denn jetzt :( ?
 
Anpassen der Bilanzkreise musst du natürlich per UPDATE machen, ansonsten hast du den Datensatz doppelt drin.

Warum deine Anwendung nur einen Datensatz anzeigt kann ich dir nicht sagen. Eventuell gibt es noch andere Tabellen wo Informationen fehlen.
 
Ich habe extra nichts abgespeichert, ich hoffe das das morgen wieder i. O. ist, die automatisierten Daten werden alle nachts abgerufen.
Damit ich da nicht noch mehr rumfusche warte ich mal lieber ab, im SSMS sehe ich ja noch die Daten die bisher schon abgerufen wurden.
 
Werbung:
Nu hab ichs kaputt gemacht :(
In der Vorschau vom Visual Studio sehe ich immer noch nur den manuellen Eintrag den ich gestern erstellt habe.
Im SQL Server Management Studio hingegen sehe ich alle Daten, von allen BHKWs inklusive dem neuen.
Wie schaffe ich es denn jetzt das man sich das wieder richtig im Visual Studio ansehen kann?
 
Zurück
Oben