Laden...
manullino
myCSharp.de - Member
160
Themen
371
Beiträge
Take it easy!
Letzte Aktivität
vor 6 Jahren
Dabei seit
30.04.2008
Herkunft
Oranjestad, Aruba
Erstellt vor 6 Jahren

Hi Palladin007,

Wie wuerdest du das genau machen, weil das Control die View nicht kennt?!

Vielen Dank,
Manullino

Erstellt vor 6 Jahren

Hatte die Hoffnung, dass man das im Code tricksen kann, oder ein fallback gibt, wie in XAML.

Erstellt vor 6 Jahren

Sorry, hätte vielleicht erwähnen sollen, dass die DependencyProperty von einem Control ist, was auf der View ist.

Bisher hatte ich das einfach uber eine direktes Binding in XAML gloest. Nun habe ich aber eine baseclass des Controls und diese soll als default an den EditCommand des ViewModels gebunden werden.

Vielen Dank,
Manullino

Erstellt vor 6 Jahren

Hallo zusammen,

wie kann man denn ein default Binding fuer ein ICommand in einer DependencyProperty festlegen?

Mein Ziel ist ein default Binding zu dem "EditCommand" herzustellen, das EditCommand befindet sich auf dem ViewModel, meine base class kennt das ViewModel jedoch nicht.

new Binding("EditCommand"), steht als Platzhalter.




        public ICommand DoubleClickCommand
        {
            get { return (ICommand)GetValue(DoubleClickCommandProperty); }
            set { SetValue(DoubleClickCommandProperty, value); }
        }

        // Using a DependencyProperty as the backing store for DoubleClickCommand.  This enables animation, styling, binding, etc...
        public static readonly DependencyProperty DoubleClickCommandProperty =
            DependencyProperty.Register("DoubleClickCommand", typeof(ICommand), typeof(DataGrid), new PropertyMetadata(new Binding("EditCommand")));



Vielen Dank,
Manullino

Erstellt vor 6 Jahren

verwendetes Datenbanksystem: <MSSQL>

Hallo zusammen,

ich moechte eine CSV Datei mit Bulk Insert in den SQL Server importieren.
Leider komme ich mit der Format File nicht zurecht.

Folgendes SQL Statement:


BULK INSERT dbo.Table
FROM 'D:\Data\Table.csv'
WITH
(
CODEPAGE='RAW',    
FIELDTERMINATOR = ',',
ROWTERMINATOR = '\n',
FormatFile='C:\Header.fmt'
)

Die CSV hat folgenden Aufbau [Auszug]:


"2008-10-31 00:00:00","23:17",1,"2008-10-31 23:18:04","GGM",3,1,-4,"06:07","2008-10-27 00:00:00",0,0,"1900-01-01 00:00:00","","D51A5850-0F5A-4633-9815-6350146A9C4F","AA 1285","AA 1036","2F59208B-612B-4AA8-8758-473E644CEE22"

Zum Testen habe ich die Format File auf zwei Spalten beschraenkt:
Format File:


14.0
2
1   SQLDATETIME    	0  8  "\","   1    trArrivel  ""
2   SQLNCHAR    	0  5  "\","   2    trArrivelT ""

Leider scheitere ich schon beim ersten Feld.
Bin mir nur nich sicher, ob es ein allgemeiner Fehler oder ob es ein Fehler wegen dem DateTime Feld ist.

Die Fehlermeldung ist ein Type Mismatch:> Fehlermeldung:

Bulk load data conversion error (type mismatch or invalid character for the specified codepage) for row 1, column 1 (trArrival)

Habt Ihr eine Idee?
Vielen Dank,
Manullino

Erstellt vor 6 Jahren

Mittlerweile ist die MSSQL auch auf eine SSD, was das Ganze schon ungemein schneller macht.
Das Problem, dass es immer langsamer wird, bleibt aber bestehen.

Meinen MYSQL Datenbank ist auch 1,5TB, daher hinkt der Verleich evtl. ein bisschen... 😉

@T-Virus
Vielen Dank fuer den Hinweis, aber es ist nur eine Test Umgebung.

Einer der Tabellen enthaelt 500GB an Daten, da werde ich den Bulk Insert versuchen / anwenden.

Gruesse,
Manullino

Erstellt vor 6 Jahren

Hallo Khalid,

wie in meinem ersten Post geschrieben, arbeite ich mit Scripts und Linked Server. Ein eigenes Programm zu verwenden, war der Vorschlag von T-Virus.

@T-Virus:
Autogrowth steht auf ein 1GB und die TransactionLogs habe ich auf "SIMPLE" gestellt.
Gibt es noch weitere Parameter die man verbessern kann?

Vielen Dank,
Manullino

Erstellt vor 6 Jahren

Hallo zusammen,

ich importiere gerade 5 Mio. Datensaetze in 100.000er Schritten.
(Select aus MYSQL, Insert into im MSSQL)

Pro Durchgang dauert das ganze unglaubliche 11 Minuten.
Also der Import startete, lag die Dauer bei 4 Minuten.

Je groesser die Tabelle ist, desto langsamer wird der import.
Index oder Primary Key ist/sind keine vorhanden.

Ich habe festgestellt, dass die Schreibrate bei nur 3BM/s liegt.
RAM liegt bei 60% Auslastung, und die CPU hat so gut wie nichts zu tun.

Die beiden Datenbanken sind auf getrennten HDDs. (keine SSDs!)
Kopiere ich eine Datei im Explorer, liegt die Schreibrate deutlich ueber den 3MB/s.

Im Resource Monitor ist die Queue Length der HDD waehrend des INSERT INTO ganz am Anschlag.

Wie kann ich den SQL Server dazu bewegen, in INSERT INTO schneller zu machen? 😉

Sorry fuer den Doppelpost!

Dachte ich mach einen Thread auf, da ich das Problem nun mehr eingegrenzt und besser beschrieben haben.

Was mir nicht in den Kopf will, dass ein Insert Into abhängig von der vorhandenen Datenmenge langsamer wird, auch wenn kein Index oder Trigger definiert sind und die Hardware noch deutlich mehr Resourcen zur Verfuegung stellen koennte.

Das wurde Quasi bedeuten, dass eine Tabelle mit Mio. von Records, keine Sinn macht?!

Erstellt vor 6 Jahren

verwendetes Datenbanksystem: <MSSQL>

Hallo zusammen,

ich importiere gerade 5 Mio. Datensaetze in 100.000er Schritten.
(Select aus MYSQL, Insert into im MSSQL)

Pro Durchgang dauert das ganze unglaubliche 11 Minuten.
Also der Import startete, lag die Dauer bei 4 Minuten.

Je groesser die Tabelle ist, desto langsamer wird der import.
Index oder Primary Key ist/sind keine vorhanden.

Ich habe festgestellt, dass die Schreibrate bei nur 3BM/s liegt.
RAM liegt bei 60% Auslastung, und die CPU hat so gut wie nichts zu tun.

Die beiden Datenbanken sind auf getrennten HDDs. (keine SSDs!)
Kopiere ich eine Datei im Explorer, liegt die Schreibrate deutlich ueber den 3MB/s.

Im Resource Monitor ist die Queue Length der HDD waehrend des INSERT INTO ganz am Anschlag.

Wie kann ich den SQL Server dazu bewegen, in INSERT INTO schneller zu machen? 😉

Vielen Dank,
Manullino

Erstellt vor 6 Jahren

verwendetes Datenbanksystem: <MMSQL>

Hallo zusammen,

In einem SQL Script soll eine Schleife erzeugt werden, die den aktuellen Count als Parameter an ein weiteres SQL Script uebergibt. Das Script wird im SQL Management Studio im SQLCMD Query Modus aufgerufen.

Leider scheitere ich gerade an dem Parameter. (Zeile 10)
:SetVar CountScript ??

[Edit:]
Fehlermeldung: > Fehlermeldung:

Incorrect syntax near '@Count'.

Habe bisher auch noch keine Info gefunden, wie man den Parameter als Variable uebergeben kann. Weiss das jemand von Euch?


:setvar path "c:\temp\"

DECLARE @Count int, @Max int
SET @Count = 0
SET @Max = 10

WHILE @Count < @Max
BEGIN
PRINT @Count
:SetVar CountScript @Count
:r $(path)\2ndScript.sql
SET @Count = @Count + 1
END 

Vielen Dank & schoenes Wochenende,
Manullino