Willkommen auf myCSharp.de! Anmelden | kostenlos registrieren
 | Suche | FAQ

Hauptmenü
myCSharp.de
» Startseite
» Forum
» Suche
» Regeln
» Wie poste ich richtig?

Mitglieder
» Liste / Suche
» Wer ist online?

Ressourcen
» FAQ
» Artikel
» C#-Snippets
» Jobbörse
» Microsoft Docs

Team
» Kontakt
» Cookies
» Spenden
» Datenschutz
» Impressum

  • »
  • Portal
  • |
  • Mitglieder
Beiträge von Sclot
Thema: Suche SQL Reporting Tool
Am im Forum: Entwicklungs- und Laufzeitumgebung (Infrastruktur)

Sowas vielleicht?

Microsoft SQL Server 2008 R2 Report Builder 3.0

Thema: mysql Datenbank wird als leer angezeigt
Am im Forum: Datentechnologien

Im ersten Moment hätte ich gedacht das es ein Rechte Problem ist.
Aber wenn das dein Lokaler Xampp ist, dann wirst du wohl auf alle Datenbank zugriffsrechte besitzen.

Jetzt hast du aber noch mal nachgeworfen das du FRM dateien hast.
Dazu wäre Interessant welches Tabellenformat du im MySQL benutzt.
Wenn du MyISAM benutzt, gehören zusätzlich zu den FRM Dateien auch die Daten-Dateien (MYD) und die Dateien der Index-Daten (MYI) dazu.

Wenn du als Tabellenformat InnoDB Benutzt, dann gehören die FRM Dateien allein nur in den Datenbank-Ordner.
Der Rest liegt in einer großen Datenwurst, die sich alle InnoDB-Tabellen teilen.

Damit möchte ich sagen:
Solltest du deine Tabellen anhand der Oderstruktur kopiert haben, funktioniert dies bei InnoDB nicht!
Da musst du dann schon einen kompletten SQL Export mit mysqldump machen.

Thema: Öffentlichen Webservice gegen "schädliche" Anfragen schützen
Am im Forum: Netzwerktechnologien

Ist mir schon klar das das zusätzlich passieren sollte ;-)

Bei Google bin ich shcon unterwegs.
Mein Problem speziell ist, dass der Client ein PHP Script ist, welches auf besagten Webservice zugreifen muss.
Das Verkompliziert die Sache ungemeint.

Thema: Öffentlichen Webservice gegen "schädliche" Anfragen schützen
Am im Forum: Netzwerktechnologien

Mhm...
Authentifizierung über Zertifikat hört sich auch gut an.
Irgednwelche Links für Mehr informationen? :)

Thema: Öffentlichen Webservice gegen "schädliche" Anfragen schützen
Am im Forum: Netzwerktechnologien

Das mit den nur Leserechten is eine Wirklich gute Idee, daran hab ich noch gar nicht gedacht.
Danke!

Trotzdem würde mich interessieren ob es noch andere Dinge tun kann.
Immerhin gibt es ziemelich viele Öffentliche Webservices im Internet.
Irgednwie müssen die ihre Services doch auch absichern?

Thema: Öffentlichen Webservice gegen "schädliche" Anfragen schützen
Am im Forum: Netzwerktechnologien

Für einen Kunden muss ich ich Online-Anbindung seiner Daten programmieren.
Ist im prinzip nur eine Tarifberechnung.
Man übergibt z.b. zwei Postleitzahlen und erhält ein ergebnis zurück.
Das ergebnis wird leider sehr Aufwendig berechnet, so dass man dieses nicht ein 2. mal im Internet nachbauen will.
Die Daten Befinden sich in einer Foxpro Datenbank, sind Mehrere hundere MB Groß und werden ständig von den Clients die sie bedinnen Aktualisiert.
Mir viel keine Möglichkeit ein diese Daten mit einem externen Server zu Syncronisieren.

Also wurde jetzt entschidenen das es einen Webservice gibt, welcher über einen IIS gehostet wird.
Dieser hört auf Port 50000 und bekommt diesen Port auch in der Firewall freigeschalten.

Dies bedeutet das der externe Port 50000 (Öffentliche statische IP) direkt auf den IIS des "DatenServer" in der Firewall weiter geleitet wird.

Jetzt die Große Fragen:
Kann man das einfach so machen?
Sollte ich größere Sicherheitsbedenken haben (Nicht was meinen Webservice angeht, sondern was den IIS angeht) ?
Gibt es vll eine art Proxy oder Gateway, was man ZWISCHEN Internet und Webservice legen kann um irgendwleche "schädlichen" anfragen herauszufiltern?
Hat da irgendwer von euch schon erfahrungen mit gemacht?

Thema: Datensicherung eines gemieteten vServers: Wie? Womit?
Am im Forum: Smalltalk

So.. Dann will ich als alter Linux-Papa und Backup-Frickler auch mal ein paar Ideen und Konzepte nach werfen :-)

Sicherung mit Rsync
Als erstes mal ist rsync vermutlich immer noch eines mit von den besten Programmen unter Linux mal "schnell" ein paar Dateien mit einem Backup-Server Synchron zu halten (oder in einem anderen verzeichnis auf der Lokalen Platte, wenn man keinen Backup Server hat, wobei das eher weniger Sinn macht, wenn man davon ausgeht das man ein backup dafür macht, dass man es im Falle eines Server/Platten Crashs wiederherstellen möchte).

Um ein Verzeichnis mit Rsync (über SSH) auf einen anderen Rechner zu sichern kann man z.b. sowas machen:


rsync -e 'ssh -p[PORT]' -avz --exclude-from=/pfad/zum/rsync_exclude_file meinserver.de:/wichtiges/lokales/verzeichnis/ /sicherungs_verzeichnis/auf/remote_server/ >> /tmp/sicherung.log 2>&1

In einem Konkreten beipsiel würde das z.b. so aussehen:

rsync -e 'ssh -p22' -avz --exclude-from=/root/scripte/rsync_exclude meinserver.de:/srv/ /home/srv_sicherung/ >> /tmp/sicherung.log 2>&1

In der Exclude Liste kann man dann alle verzeichnisse angeben, welche NICHT gesichert werden sollen.
Rsync erstellt eine Liste von Allen Dateien und vergleicht diese mit der Sicherung - danach überträgt er nur die Dateien (oder änderung an Dateien) welche sich zur Sicherung geändert haben.

Rsync kann auch Lokale Verzeichnisse syncronisieren - der aufruf ist dabei der selbe, nur ohne SSH, portangabe und Server :-)

Sicherung mit tar/bz2/FTP

Eine andere Möglichkeit ist eine Lokale Sicherung durch packen der Daten in eine komprimierte Datei und/oder dieses an einen FTP Server zu senden.

In diesem Beispiel möchte ich wieder /srv sichern.
tar -cvjf /home/sicherung/srv.tar.bz2 /srv

Danach kann man etwas warten und das komplette /srv ist in /home/sicherung/srv.tar.bz2 drin gesichert.
Auspacken geht dann wieder mit:
tar -xvjf /home/sicherung/srv.tar.bz2

Diese Datei kann man dann auch über FTP an einen anderen Server senden.

Ein Komplettes Script, welches bei mir dafür im einsatz ist (incl versionsrotation) gebe ich hier auch gern:

#!/bin/sh
 
#=============================================================#
# Beschreibung: Backup-Script mit Versions-Rotation           #
# Author:       Sven Schmalle                                 #
# Datum:        24.01.2008                                    #
#=============================================================#
# Bitte eine backup_version.txt anlegen mir einer 0 drin als Inhalt.
#
# === Einstellungen: ===
 
# Verzeichnis mit den Dateien, die gesichert werden sollen
PFAD="/tatplatte/trac"
 
# Kleinste Version, die fuer ein Backup vergeben werden soll
MIN_VERSION="0" # 0+1=1 - erste Version ist die 1
# Groesste Version, die fuer ein Backup vergeben werden soll
MAX_VERSION="7"
 
# FTP-Server, der aus der .netrc des Users benutz werden soll
FTP_SERVER="213.23.XX.XX"
# FTP-Pfad, in welchem die Backup-Dateien gelegt werden sollen
FTP_PFAD="trac"
 
# der Pfad in dem das Script ausgeführt wird
cd /root/backups/trac/
 
#=============================================================#
#             !!!Ab hier bitte nichts Aendern!!!              #
#=============================================================#
 
version="`cat backup_version.txt`"
neuversion=$(($version + 1))
backupdatei=backup_${neuversion}.tar.bz2
 
echo $neuversion
 
echo $backupdatei einpacken...
tar -clj --exclude=proc -f $backupdatei $PFAD
 
#ls -la *.bz2
 
echo "ftp-verbindung aufbauen und hochladen"
ftp $FTP_SERVER <<EOF
passive
cd $FTP_PFAD
put $backupdatei
bye
EOF
 
echo "version hochsetzen"
if [ "$neuversion" = $MAX_VERSION ]; then
  echo $MIN_VERSION > backup_version.txt
else
  echo $neuversion > backup_version.txt
fi

Damit das mit dem FTP funktioniert (ohne Angabe von Benutzer und Passwort) muss in die /root/.netrc ein Eintrag für den FTP-Server bzw der IP des FTP-Servers stehen:

machine ftp-server.de
  login         benutzer
  password      passwort


MySQL Backups an Google Mail

Eine Nette Idee ist auch diese, seine Datenbank-Backups einfach an eine Mail anzuhängen und an seine Google Mail Adresse zu hängen.

Dies kann man z.B. auch auf normalen Webspace mit PHP machen:
[php]
<?

// ############ EINSTELLUNGEN ##################################
$Dateiname = date("d.m.Y").".bz2"; // Dateiname des Backups #
$user = 'webXX'; // Name #
$pass = 'xXxXx'; // Passwort #
$database = 'usr_webXX_1'; // zu sichernde Datenbank #
// #############################################################


// Backup erstellen
system("/usr/bin/mysqldump -u$user -p$pass -h localhost $database | bzip2 > $Dateiname", $fp);

// PHPMailer
require("class.phpmailer.php");
$mail = new PHPMailer();
//$mail->IsMail(); // send via mail()
$mail ->IsSMTP(); // per SMTP verschicken
$mail->Host = "mailserver.de"; // SMTP-Server
$mail->SMTPAuth = true; // SMTP mit Authentifizierung benutzen
$mail->Username = "webXXp1"; // SMTP-Benutzername
$mail->Password = "xXxXx"; // SMTP-Passwort

$mail->From = "backup@xxx-domain.de";
$mail->FromName = "MySQL Backup vom ".date("d.m.Y");
$mail->AddAddress("backup@googlemail.com");
$mail->WordWrap = 50; // set word wrap
$mail->AddAttachment($Dateiname);
$mail->IsHTML(true); // send as HTML

$mail->Subject = "MySQL Backup vom ".date("d.m.Y");
$mail->Body = "Diese Mail beinhaltet das MySQL Backup vom ".date("d.m.Y")." - ".date("H:i:s");
$mail->AltBody = "Diese Mail beinhaltet das MySQL Backup vom ".date("d.m.Y")." - ".date("H:i:s");
sleep(2);
if(!$mail->Send())
{
echo "<br><br><b><font color=\"#FF0000\" size=3>Message was not sent</font></b> <p>";
echo "Mailer Error: " . $mail->ErrorInfo;
exit;
}
else
{
echo "Email an backup@googlemail.com gesendet.";
}
unlink($Dateiname);

?>
[/php]


Genauso gut gibt es auch ansätze Backups nicht per Mail an Google zu schicken, sonder in eine Quellcode-verwaltung wie SVN oder GIT zu packen, so hat man auch einen revisionierten stand aller änderungen zu den einzelnen Backups (dies funktioniert überigens auch unter Windows).

Meine neuste Idee ist verzeichnisse wie z.b. /etc/ mit Fossil (fossil-scm.org) zu sichern.
Fossil ist auch eine (dezentrale) Quellcode-verwaltung, kommt aber nur mit EINER Datei aus, läuft als CGI, benutzt SQLite als Datenbank für alle Dateien und legt vor allem keine ekeligen .svn unterordner oder sowas an.


Gut - das war mal ein grober Überblick.
Wenn Ihr Fragen dazu habt - immer gern fragen :-)

Thema: UTF-8 Problem in Winforms (TextBox, Label) auf unterschiedlichen PC´s
Am im Forum: GUI: Windows-Forms

Okay...
Ich hab das jetzt mal für mein Projekt umgestellt.
Für die Labels hat das dann auch funktioniert.
Leider habe ich das Problem mit dem Text in den TextBoxen trotzdem noch.
Leider gibt es in den TextBoxen diese schöne Eigenschaft zum setzen auch nicht.

Any Ideas?

Thema: UTF-8 Problem in Winforms (TextBox, Label) auf unterschiedlichen PC´s
Am im Forum: GUI: Windows-Forms

Okay...
kannst du auch erklären warum das so ist?
Werd jetzt erstmal suchen was das Textrendering genau macht :)

Edit:
Hab jetzt unter Label.UseCompatibleTextRendering-Eigenschaft was gefunden.

Geht wohl auch Anwendungs-Weit mit:

Application.SetCompatibleTextRenderingDefault(true);

...Aber Verstanden hab ich trotzdem noch nicht warum das so ist, zumal da irgendwas mit .Net 1.0/1.1 steht :-/

Thema: UTF-8 Problem in Winforms (TextBox, Label) auf unterschiedlichen PC´s
Am im Forum: GUI: Windows-Forms

Nein, ich habe leider noch keine Lösung dafür :(

Hast du Mehrere Rechner an denen du es mal Testen Könntest?
Weil bei mir Funktioniert es auf 4 Rechnern hier in der Firma und auf 3 Rechnern eben nicht.

Ich wollte das ganze noch mal in WPF nachbauen und schauen ob es da auch so Probleme gibt, aber dazu bin ich noch nicht gekommen...

Thema: UTF-8 Problem in Winforms (TextBox, Label) auf unterschiedlichen PC´s
Am im Forum: GUI: Windows-Forms

Mhm...

In Textbox und Label ist die selbe Schriftart drin.
MS Sans Serif 8,5pt


Der einzige Unterschied ist, dass die "Beschreibung" eine TextBox ist und die anderen 2 TextBoxen jeweils RichtextBox sind.

Aber warum der unterschied mit den labels? :-/

Thema: UTF-8 Problem in Winforms (TextBox, Label) auf unterschiedlichen PC´s
Am im Forum: GUI: Windows-Forms

Ich habe in der Datenbank unseres Support-Ticket Programms mal testweise die Textfelder auf UTF-8 umgestellt.
Dort hinein habe ich mal Russischen Text und Chinesischen Text kopiert.

Klappt an meinem (und 4 Weiteren Pc´s - alle Win7 - hier in der Firma ohne Probleme):

Auf 3 Rechnern (1 x XP / 2x Win7)Gibt es allerdings ein Problem beim Darstellen des chinesischen Textes in einem Label.

Hat Jemand eine Idee woran das liegen könnte?

Thema: MySQL: Auf neue Datenbankeinträge reagieren
Am im Forum: Datentechnologien

Anmerkung nebenbei:
Wir sind in der Zwischenzeit auf MSSQL umgestiegen, weil das MySQL Lizenzthema im Kommerziellen bereich einfach zu komplex war und vor allem auch weil MSSQL immernoch sehr viel besser mit .NET arbeitet als MySQL (z.b. kann MySQL bis heute keine Multiplen Resultsets (MARS), was bei einsatz von EF garnicht mal unpraktisch ist :-) )

Thema: MySQL: Auf neue Datenbankeinträge reagieren
Am im Forum: Datentechnologien

Ein Frickeliger gedanke, aber Vielleicht ja so:

Einen Insert-Trigger bauen, welcher eine SP aufruft, welche wiederum eine Datei weg schreibt, auf welche man mit einem FileSystemWatcher reagieren kann?

Thema: Wie bekomme ich die SOAP Request Message?
Am im Forum: Netzwerktechnologien

Nein, ist ein vs2005 Projekt mit normalen SOAP Webservice.
Ich glaub WCF funktionierte nicht wegen der komplexen Datentypen im Webservice selbst.

Ich bin jetzt erst ma den Weg über Fiddler gegangen, ging einfacher als ich dachte - danke! :)

Thema: Wie bekomme ich die SOAP Request Message?
Am im Forum: Netzwerktechnologien

Das mit Fiddler hab ich auch irgednwo gelesen, dachte aber das es da irgendwas "sauberes" gibt :-)

Ansonsten muss ich mich mal mit Fiddler beschäftigen.

Thema: Wie bekomme ich die SOAP Request Message?
Am im Forum: Netzwerktechnologien

Ich hab einen .NET client der eine Verbindung zu einem Java-Webservice herstellt.
Leider wirft dieser bei meiner Anfrage diverse Java-Fehler.
Jetzt habe ich den Anbieter des Webservices angefragt was daran kaputt ist.
Mit meinem Cleint dem ich ihm per mail zugesendet habe konnte er nichts anfangen.

Jetzt braucht er von mir die SOAP request message meines Clients.

Frage: Wie komme ich an die Request Message, welche vom Client zum Webservice geschickt wird?

Thema: SOAP/RPC Request auf Webservice von MantisBT?
Am im Forum: Netzwerktechnologien

Was versuchst du da?

NewIssue sieht für mich nach einem neuen Issue aus.
Da er neu ist, wird es ihn wohl noch nicht geben.

Du versuchst newIssue.project.id zu setzen, bist dir aber nicht sicher ob es newIssue.project oder gar newIssue schon als instanziierte klassen gibt?

Da fehlt jetzt wohl etwas c# code um dir folgen zu können :-)

Thema: PHP Webservice (NuSOAP) mit Windows Phone 7 WCF CLient verwenden
Am im Forum: Netzwerktechnologien

Guten Morgen,

Ich versuche zur zeit einen SOAP Webservice mit NuSoap zu bauen, den ich mit dem WCF Client vom Windows Phone 7 benutzen kann.

Arbeite ich hier mit einfachen Datentypen, z.b. "xsd:string", funktioniert alles super.
URL: http://cheeezbuerger.de/sven/wcf/soap_test.php

Wenn ich nun aber einen Eigenen Datentyp benutze, z.B. "tns:MeinKomplexerDatenTyp", dann bekomme ich beim starten der Anwendung folgenden Fehler:

Fehler
Fehler 1 "System.ServiceModel.XmlSerializerFormatAttribute" enthält keine Definition für "Style". C:\csharp\test\WindowsPhoneApplication_TestComplex\WindowsPhoneApplication_TestComplex\Service References\ServiceReference1\Reference.cs 22 59 WindowsPhoneApplication_TestComplex

URL: http://cheeezbuerger.de/sven/wcf/soap_complex.php

Ich benutze derzeit einen "rpc/literal" style, weil "rpc/encoded" in Silverlight nicht funktioniert und "document/literal" noch mehr fehler bringt.

Ich habe meine Tets mal mit Angehangen:
WindowsPhoneApplication_test - Test mit Einfachen Datentypen - funktioniert!
WindowsPhoneApplication_TestComplex - Test mit Komplexen Datentyp - funktioniert nicht!
www - die Webservice-Dateien

Thema: SOAP/RPC Request auf Webservice von MantisBT?
Am im Forum: Netzwerktechnologien

Guten Morgen,

Mantis benutzt NuSOAP zum Bereitstellend es SOAP Webservices.
Die Leute von NuSoap haben es bis heute nicht geschafft den Fehler raus zu nehmen.

Eigentlich ist es auch kein wirklicher Fehler.
Es ist eine Anforderung von WCF, das die Reihenfolge für die Fault-Message richtig eingehalten wird - WCF ist da etwas pingelig.

Den Fehler bekommst du weg indem du in der nusoap.php in der Fuktion "serialize()" die Zeilen 1066 und 1067 tauscht (faultactor und faultstring).

Die Ganze serialize() muss dann so aussehen:


	function serialize(){
		$ns_string = '';
		foreach($this->namespaces as $k => $v){
			$ns_string .= "\n  xmlns:$k=\"$v\"";
		}
		$return_msg =
			'<?xml version="1.0" encoding="'.$this->soap_defencoding.'"?>'.
			'<SOAP-ENV:Envelope SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"'.$ns_string.">\n".
				'<SOAP-ENV:Body>'.
				'<SOAP-ENV:Fault>'.
					$this->serialize_val($this->faultcode, 'faultcode').
					$this->serialize_val($this->faultstring, 'faultstring').
					$this->serialize_val($this->faultactor, 'faultactor').
					$this->serialize_val($this->faultdetail, 'detail').
				'</SOAP-ENV:Fault>'.
				'</SOAP-ENV:Body>'.
			'</SOAP-ENV:Envelope>';
		return $return_msg;
	}



Leider Bekommst du noch andere Fehler danach, weil WCF nicht mir rpc/encoded umgehen kann - WCF will document/literal Style Webservices haben.
Dafür hab ich leider auch noch keine Lösung.


Sehr viel einfacher ist es also einen "alten" .net 2.0 Webservice einzubinden.
Diesen findest du im Dialog zum hinzufügen eines Dienstverweises unten links unter dem Button "Erweitert..." und da dann auch wieder unten.

Damit hast du in jedem Fall keine Probleme mit der Einbindung von PHP Webservices über NuSoap als rpc/encoded Style mit komplexen Datentypen.


Ich hoffe dir damit geholfen zu haben.

Thema: .cs Dateien im VS öffnen
Am im Forum: Entwicklungs- und Laufzeitumgebung (Infrastruktur)

Hier auch zu finden:

[Tutorial] Prozess/Anwendung aus eigenem Programm starten


Ein "Problem" daran könnnte nur noch sein, dass zumindest bei mir pro cs datei ein eigenes VS aufgehen würde.
Wäre auf dauer nervig und unperformant.

Thema: x86 Kompiliert, aber wird trotzdem als x64 ausgeführt
Am im Forum: Entwicklungs- und Laufzeitumgebung (Infrastruktur)

ui...
Man glaubt es nicht.
Kaum macht man es richtig, schon funktioniert es! :-D

Ok, verstanden hab ich das jetzt aber nicht, was das mit flexibler Konfiguration zu tun hat.

Wo ist da jetzt der logische Sinn bei das er als Target Platform das vom eigentlichen Projekt nimmt und nicht das was in der SLN eingestellt ist?

Trotzdem noch mal vielen vielen dank!

Thema: x86 Kompiliert, aber wird trotzdem als x64 ausgeführt
Am im Forum: Entwicklungs- und Laufzeitumgebung (Infrastruktur)

Guten Abend,

Ich habe hier ein Projekt, welches zum ersten mal auf einem 64 Bit Windows 7 laufen soll.
Bis jetzt lief es nur auf 32 Bit-OS und wurde als AnyCPU kompiliert - lief darauf gut.

Jetzt habe ich festgestellt, dass es ein paar Verweise auf x86 DLL´s bzw AnyCPU DLL´s in diesem Projekt gibt.
Demzufolge bekommt man beim starten der Anwendung unter 64 Bit die Meldung "Bad Image Format Exeption".

Jetzt habe ich in der Buildkonfiguration alles explizit auf x86 eingestellt.
Wenn ich diese Anwendung nun aber im Visual Studio Debugger laufen lasse, dann wird sie mit im Taskmanager als 64 Bit angezeigt (das schließe ich daraus das kein * 32 dahinter steht).

Über Google habe ich herausgefunden, dass es eine "CorFlag.exe" im SDK gibt mit der man nachschauen kann, ob eine bestimmte Assembly 32 Bittig kompiliert wurde oder nicht.

In meinem Fall war das nicht der Fall.
Ich könnte vermuten das Vs beim kompilieren die Verweise überprüft und wenn es einen AnyCPU Verweis gefunden hat, ist die exe die dabei am ende herauskommt auch eine AnyCPU Exe - kann das sein?

Mit der "CorFlag.exe" kann man allerdings auch das 32BIT Flag setzen.
Bedeutet: Wenn man eine AnyCPU Assembly hat, kann man über CorFlag das 32BIT Flag setzen und somit wird die Assembly nur mit dem 32Bit Framework ausgeführt.
Das dies funktioniert entnehme ich der "* 32", die dann nach dem Setzend es Flags und Aufrufen der Anwendung im Taskmanager angezeigt wird.
Als 32 Bit Version funktioniert alles wie gewohnt und es Entsteht auch keine BadImageFormat-Exeption.

Jetzt muss mir nur noch irgendwer einen Denkansatz geben, warum das Visual Studio beim kompilieren eine AnyCPU Anwendung draus macht, obwohl ich dem explizit in der Buildkonfiguration gesagt habe das es eine x86 Anwendung werden soll.

Hat da jemand eine Idee?

Danke!

Thema: EF4.1 - Code First: Datenbankinhalte übernehmen?
Am im Forum: Datentechnologien

verwendetes Datenbanksystem: SQL Server 2008 R2

Hallo,

ich habe mich heute etwas mit dem Code First vom EF4.1 beschäftigt.
Ich habe nun auch eine kleine WinForms Anwendung, in welcher ich objekte erstellen und über das DBContext Objekt in der Datenbank persitieren kann.
Alles super!

Wenn die Datenbank noch nicht existiert, wird sie Angelegt und die Tabellen Struktur erzeugt.
Bei Strukturänderungen, welche aus einer Änderung der Objekte hervorgeht, kann mit:


Database.SetInitializer<ProductContext>(new DropCreateDatabaseIfModelChanges<ProductContext>());

Die Datenbank beim Aufruf der Anwendung durch das EF neu angelegt werden, so das die Objekt-Änderungen als Struktur-Änderungen innerhalbt der Datenbank mit gezogen werden.
Ebenfalls alles irgendwie Super!

Aber...
Ist das sinning, dass die komplette Datenbank gelöscht wird und neu angelegt wird?
Ok, wenn ich manuell ein ALTER TABLE mache, wird die DB vermutlich intern auch verworfen und neu zusammen gewürfelt.
Aber wenn ich ein ALTER TABLE mache, sind die Daten aus den tabellen nicht gleich alle weg :-/
Also Frage: Ist das von MS so beabsichtigt das die Daten bei Struktur-Anderungen nicht mit übernommen werden - oder hab ich nicht genug gelesen und das geht irgendwie?

Und... wie Praxisnah ist so eine Code-First Vorgehensweise beim Erstellen von Datenhaltigen Anwendungen überhaupt?

Wie haben hier z.B. sehr sehr viele und häufige Strukturänderungen unserer Datenbanken (Eine Individuell nach Kundenwunsch angepasste Anwendung).
Ich habe irgendwo gelesen das DAS Code-First Model nur von Entwicklern zur Entwicklungszeit benutzt werden soll.
Aber wie bekommt man dann seine Strukturänderungen sinnvoll zum kunden übertragen?

Irgendwie stehe ich grad voll aufm dicken schlauch :-/

Thema: MS Sync Framework 2.1 mit SQL Server Express - auch ohne Change Tracking?
Am im Forum: Datentechnologien

hm...
klingt Interessant...
Werdsch mir mal anschauen, Danke!


EDIT

Hab grad gesehen das im .NET Magazin 10/2010 und 11/2010 auch etwas über CDC und Change Tracking drin steht - falls es noch jmd. Interessieren sollte :-)

Thema: MS Sync Framework 2.1 mit SQL Server Express - auch ohne Change Tracking?
Am im Forum: Datentechnologien

Ich will doch aber gar kein change tracking haben.
Im Prinzip möchte ich doch nur die Daten von einer Datenbank in die andere tun - und das scheint mit dem Sync Framework recht gut zu funktionieren.

Ich weiss nicht ob ich jetzt von aus aus mit dem R2 noch andere Möglichkeiten hätte.
Habe ich?
Klär mich bitte auf :)

Thema: MS Sync Framework 2.1 mit SQL Server Express - auch ohne Change Tracking?
Am im Forum: Datentechnologien

verwendetes Datenbanksystem: MSSQL 2008 Express R2

Hallo,
Ich spiele im Moment mit dem MS Sync Framework herum.
Ziel soll es sein Datenbanken mehrerer SQL Express Server mit einer DB abzugleichen (Also 1:n, wobei es immer nur um einen upload der daten geht - also Einweg). Damit sollen dann "Statische Mandanten" in verschiedenen Niederlassungen einer Firma realisiert werden.

Funktioniert an und für sich mit den mitgelieferten Beispielen des Sync Frameworks schon sehr gut.
Was mich allerdings extrem stört ist der Umstand der Tracking tabellen in der Datenbank.
Für die Statistischen Datenbanken Ist das eher weniger das Problem, da dort weniger drin gearbeitet wird und diese Datenbanken auch nicht mit gesichert werden.
Aber in der Datenbank, aus der die Daten kommen ist das ein Großes Problem, da diese aktiv benutzt wird, angepasst wird, gesichert wird, etc... und es einfach nur sau unübersichtlich ist, wenn es dort jede Tabelle mit einem "_tracking" dahinter noch mal geben würde.
Das sind jetzt schon 370 Tabellen - das doppelte davon wäre echt Horror :-/

Hat jemand eine Idee dazu?
Von mir aus auch die Auslagerung dieser tracing Tabellen in eine eigene Datenbank oder SQL CE DB... oder was weis ich - aber in der Original-DB stören sie einfach nur :-(

Thema: Applicability Statement 2 (AS2) Verbindung mit C# Programmieren als Windowsanwendung
Am im Forum: Netzwerktechnologien

Der Beitrag ist schon etwas älter, aber nun stehe ich vor dem selben Problem.

Any News? :)

Thema: Microsoft SQL Server 2008 Lizenzierung
Am im Forum: Smalltalk

Jetzt bekomme ich sicherlich schläge, weil ich mich hier einfach wieder einmische... aber...

Reicht es eigentlich wenn ich einen Server mit einer User Cal (nicht Device Cal) Lizensiere und von mehreren Clients mit dem selben SQL User die Verbindung zum Server aufbaue?

Hat dann sichelrich einige SQL-Server interne einschränkungen (rechte, locks, etc...) aber würde das rein theoretisch funktionieren und Lizenzrechtlich sauber sein?

Thema: Mit LINQ to Entities auf DBMS wie z.B. MySQL zugreifen
Am im Forum: Datentechnologien

Kann man doch dann letzendlich auch - solange dein DBMS einen EF-Provider mitliefert.
Das sind Mittlerweile alle Gängigen DBMS´se die man so kennt (MySQL, SQLite, PostgreSQL, Oracle, IBM DB2, etc...)

Letzendlich sieht das so aus, dass du mit den Entitäten arbeitest - und diese kommunizieren mit dem Provider des DBMS ohne das du dir darum gedanken machen musst.
Als Abfragesprache benutzt du im Idealfall LINQ - und dann bist du größtenteils Kompatibel :-)