-
Gesamte Inhalte
15 -
Registriert seit
-
Letzter Besuch
Alle erstellten Inhalte von daHartl
-
SQL 2 Spalten in 2 Tabellen vergleichen
daHartl antwortete auf ein Thema von daHartl in: MS SQL Server Forum
... geht das überhaupt? Vielen Dank für die Hilfe.... -
SQL 2 Spalten in 2 Tabellen vergleichen
daHartl antwortete auf ein Thema von daHartl in: MS SQL Server Forum
Hab in der Tabelle 1 Artikel und Kunde und in der Tabelle 2 eben auch... Ich möchte gerne wissen, welcher Konstellation Artikel/Kunde in beiden Tabellen vorkommt... Im Umkehrschluss halt dann eben auch noch umgekehrt, welche Konstellation Artikel / Kunde kommt nicht vor... DANKE! -
Hallo zusammen, wie kann ich per SQL-Script vergleichen ob die Konstellation Tabelle1 = Spalte A & Spalte B in der Tabelle 2 = Spallte 3 & Spalte 4 vorkommt? Der Inhalt sind ID`s.... Vielen Dank im Voraus. daHartl
-
Schreiben einer LOG-Datei bei Script-Abbruch
daHartl antwortete auf ein Thema von daHartl in: MS SQL Server Forum
Da ich einen SQL Server 2005 Express habe, kann ich mit dem Script-Assistenten erstelle Abfragen leider nicht speichern! In einem anderen Forum hab ich jetzt die Lösung gefunden: declare @sql varchar(8000) select @sql = 'bcp "select * from Rechnungen..tblImport" queryout c:\Import\ERROR\Import_ERROR.txt -c -t; -T -S' + @@servername -- -c -t; -r\n exec Rechnungen..xp_cmdshell @SQL (Sorry aber "Code" sieht einfach sch.. aus... warum auch immer) Wichtig ist halt nur xp_cmdshell vorher zu aktivieren und dem user sysadmin - Rechte zu geben -- To allow advanced options to be changed. EXEC sp_configure 'show advanced options', 1 GO -- To update the currently configured value for advanced options. RECONFIGURE GO -- To enable the feature. EXEC sp_configure 'xp_cmdshell', 1 GO -- To update the currently configured value for this feature. RECONFIGURE GO Mehr dazu steht hier: http://msdn.microsoft.com/de-de/library/ms175046.aspx -
Schreiben einer LOG-Datei bei Script-Abbruch
daHartl antwortete auf ein Thema von daHartl in: MS SQL Server Forum
Ja, ich denke auch. Ich möchte keine externe Verarbeitung oder nachträgliche Verarbeitung, sondern einen Möglichkeit IN dem SQL-Script selbst! so z.B.. BEGIN TRY Mein Import.sql - Script END TRYBEGIN CATCH [Hier der Befehl zum Exportieren der Daten bzw. Erstellen der TXT-Datei] END CATCH -
Schreiben einer LOG-Datei bei Script-Abbruch
daHartl antwortete auf ein Thema von daHartl in: MS SQL Server Forum
Genau das ist ja meine Frage: Wie kann ich den Inhalt einer Tabelle per SQL-Befehl, also in dem BEGIN CATCH Bereich in eine TXT schreiben? -
Schreiben einer LOG-Datei bei Script-Abbruch
daHartl hat einem Thema erstellt in: MS SQL Server Forum
Hallo zusammen, folgende Anforderung Schreiben einer LOG-Datei z.B. eine INSERT_ERROR.txt in das Verzeichnis c:\Import\ERROR\ wenn irgendetwas den INSERT-Vorgang abbricht! Script: (Import.csv) Sorry, wollt in als CODE-darstellen, kommt aber nur sch... raus! ---------------------------------------------------------------------------------- set language deutsch USE [Rechnungen] GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO -- Import der Daten aus der CSV-Datei bulk insert dbo.tblImport from 'c:\import\Rechnungen.csv' go -- hinzufgen der "MARKER"-Spalte ALTER TABLE tblImport ADD MARKER Int Go -- fieldseperator = ; WITH (fieldterminator = ';',DATAFILETYPE = 'char' , rowterminator = '\n', FIRSTROW = 2, ERRORFILE = 'c:\Import\ERROR\Import_log.txt') go -- deklarieren der Variablen DECLARE @RechnungsNummer nvarchar(20); DECLARE @RechnunsDatum nvachar(50); While (SELECT count (*) FROM tblImport) > 0 Begin -- ersten Datensatz der Import-Tabelle markieren update top (1) tblRechnungen set MARKER = 1 -- setzen der Variablen SET @RechnungsNummer = (select RechnungsNummer from tblImport where MARKER = 1) SET @RechnunsDatum= (select RechnungsDatum from tblImport where MARKER = 1) -- Insertvorgang INSERT INTO dbo.tblRechnungen (ReNummer, ReDatum) VALUES (@RechnungsNummer, @RechnunsDatum) - Importierte Zeile lschen DELETE FROM tblRechnungen where MARKER = 1 End ALTER TABLE tblImport DROP COLUMN MARKER go ------------------------------------------------------------------ Dieser Script wird jede Stunde durch eine Import.bat angestoßen: Inhalt: sqlcmd -S Datastore -U sa -P [bleibtgeheim] -i "C:\Schnittstelle\scripts\IMPORT.sql" Ich hoffe, dass ich die Anforderung klar gestellt und beschrieben habe und mir jemand dabei behilflich sein kann, das Problem zu lösen! Vielen Dank im Voraus! da Hartl -
OK
-
Hab total überlesen, dass BCP ja in der "Windows-Eingabeaufforderung" ausgeführt wird :-(. Daher leider ist es leider nicht zu gebrauchen für meine Anforderung. Ich habe hier ein SQL-Script (Start per .bat) was die Daten sozusagen von einer Transfertabelle (welche in dem Skript vorher mit BULK INSERT aus einer .CSV gefüllt wird) einliest. Jetzt hatte ich den Fall, dass ein Datumsformat erwartet wurde, jedoch ein Text in einem Feld stand und das Scrip abgebrochen ist. Da das Error.log-Handling beim BULK INSERT schon vorhanden ist, habe ich mir gedacht, ob es denn möglich wäre, im Fehlerfall (per TRY CATCH) eine "Fehlerdatei" (z.B. mit dem Inhalt der Transfertabelle) zu schreiben. Die Batch-Routine würde den Fehler erkennen und entsprechend weiter verarbeiten! da Hartl
-
LOG-File bei Fehler in einer Abfrage
daHartl antwortete auf ein Thema von daHartl in: MS SQL Server Forum
sieht gut aus! Denk damit kann ich auf jeden Fall was anfangen! daHartl DANKE! -
Hallo zusammen, gibt es eine Möglichkeit, per SQL-Query bei einem SQL 2005 Express die Daten einer Tabelle in ein .txt-File zu schreiben? Beispiel = funktioniert leider nicht! BCP MyDatabase.MyCustomer out c:\customer.txt Falsche Syntax in der Nähe von '.'. Vielen Dank im Voraus für eure Hilfe! da Hartl
-
Hallo zusammen, ich hab hier ein SQL-Import-Script welches Daten aus einer Transfertabelle einliest, entsprechend verarbeitet und in die Datenbank schreibt. Ist es möglich, ein LOG-File in ein Verzeichnis zu schreiben, falls irgend etwas schief läuft? z.B. wenn ein "ungültiger Datentyp" auftritt und die Verarbeitung gestoppt wird... bzw. dieser fehlerhafte Datensatz übersprungen wird. System: SQL 2005 Express daHartl vielen Dank im Voraus für eure Hilfe ;-)...
-
Fehler beim ändern der Tabelle..eindeutigen Spalten-IDs ?
daHartl antwortete auf ein Thema von daHartl in: MS SQL Server Forum
DANKE für den TIPP. Insgesamt sind es acht Importtabellen die jeweils 5x pro Tag für ca. 5min genutzt werden... also somit ist sinnvoller diese bei jedem Import einfach anzulegen und dann wieder zu löschen... da Hartl -
Fehler beim ändern der Tabelle..eindeutigen Spalten-IDs ?
daHartl antwortete auf ein Thema von daHartl in: MS SQL Server Forum
Durch den BULK Import ist ja die Spaltenanzahl vorgeben. Vor der Verarbeitung der Daten wird der entsprechende Datensatz mit einer "1" in der Spalte "MARKER" markiert. Ist kein Datensatz mehr in der Tabelle, wir die Spalte "MARKER" gelöscht, damit wieder Daten aus einer CSV-Datei mit BULK importiert werden können. Macht es mehr Sinn, die Tabelle vor jedem Import komplett zu erstellen und im Anschluss zu löschen? Danke für eure Hilfe. da Hartl -
Fehler beim ändern der Tabelle..eindeutigen Spalten-IDs ?
daHartl hat einem Thema erstellt in: MS SQL Server Forum
Hallo zusammen, ich hab hier eine Tabelle in welche ich per bulk 5x täglich die Daten importiere. Anschließend wird an diese Tabelle normalerweise per "Alter Table.. add" eine weitere Spalte "MARKER" angefügt und am Ende der Verarbeitung wieder per "ALTER Table ... DROPP" entfernt. Dies funktioniert leider seit heute nicht mehr! Es erscheint folgende Fehlermeldung: Fehler beim ändern der Tabelle, weil keine eindeutigen Spalten-IDs mehr für die 'tblImport'-Tabelle vorhanden sind. Kann ich die ID`s irgendwie zurücksetzen oder gibt es dafür eine andere Lösung? Vielen Dank für die Hilfe! da Hartl