Laden...
A
AtHeOS myCSharp.de - Member
Softwareentwickler Österreich Dabei seit 10.08.2005 156 Beiträge
Benutzerbeschreibung

Forenbeiträge von AtHeOS Ingesamt 156 Beiträge

17.07.2013 - 11:21 Uhr

Danke für die Hilfe.

Das Problem war ein Event, welches ich für die Forms App auslöse.

lg

17.07.2013 - 10:39 Uhr

Hallo,

Das wird ja immer schlimmer 😉

Danke für die Blumen, sehr Kontext bezogen.

Was ist das denn für eine Queue? evtl. (aufgrund des Peeks) eine thread-unsichere Collections.Queue?

Nein. Wie gesagt in der Forms Applikation funktioniert es.

Warum öffnest Du mit OpenOrCreate statt mit Append?

Weil nicht nur in eine Datei geschrieben wird und es sein kann, dass es die Datei nicht gibt. Wobei das finde ich jetzt nicht so verwerflich, dafür gibt es diese Optionen ja.

Willst Du hier dauerhaft ein Stream offen halten und solange in eine Datei schreiben, bis die Queue geschlossen wird?

Nein. Im Intervall x werden die einzelnen Elemente der Queue in die Datei geschrieben.

Läuft das ganze in einem eigenen Thread?

Ja

17.07.2013 - 09:49 Uhr

Grüß dich,

das hatte ich auch schon probiert. Habe das jetzt testweise nochmals probiert. Selbes Ergebnis.
Gleichzeitiger Zugriff ist in dem Fall nicht möglich, da nur ein Thread in die Datei auf folgende Weise schreibt. btw.: wie egsagtm ind er Forms Applikation funktioniert es.


                    FileStream fs = File.Open(this._LogPath + filename, FileMode.OpenOrCreate, FileAccess.Write);
                    //file = new StreamWriter(this._LogPath + filename, true);
                    file = new StreamWriter(fs);
                    StringBuilder dstr = new StringBuilder();
                    for (int i = 0; i < count; i++)
                    {
                        DebugItem di = this.myQueue.Peek();


                        FormatMessage = String.Format("{0,-15}", di.level.ToString()) + di.date.ToString("yyyy-MM-dd HH:mm:ss") + "." + di.date.Millisecond + "\t\t" + di.user + "\t\t" + di.message;
                        this.myQueue.Dequeue();
                        Debug.WriteLine(FormatMessage);
                        if (this._Level <= di.level)
                        {
                            try
                            {
                                dstr.AppendLine(FormatMessage);

                            }
                            catch { }
                            NewDebugMessage(FormatMessage);
                        }
                    }
                    //SchreibOperation
                    try
                    {
                        if (dstr.Length > 0)
                        {
                            file.Write(dstr.ToString());
                            file.Flush();
                        }
                    }
                    catch { }
                    
                    file.Close();
                    fs.Close();

17.07.2013 - 09:32 Uhr

Grüß euch,

danke für eure Antworten.
@herbivore: das würde ich auch so sehen, deswegen verstehe ich das Problem nicht.
Bei einem einzigen WriteLine in einem using Block schreib er genau diese eine Zeile in die Datei und das laut ProcMon ohne Sharing Violation.
Bei einem StringBuilder via Append mit Environment.NewLine oder AppendLine und anschließendem


file.Write(dstr.ToString());
                            file.Flush();

bekomme ich auch ohne Flush eine Sharing Violation. Das selbe passiert bei einigen file.Writeline(); in einer Schleife. Wie gesagt in der Forms Applikation funktioniert es einwandfrei. Am Rechner denke ich auch nicht dass es liegt, da ich es bei mir unter Win7 und am Server getestet habe.

atheos

17.07.2013 - 09:02 Uhr

Grüß euch,

das Thema beschäftigt mich jetzt wirklich schon lange und deswegen wende ich mich an euch.
Ich habe ein Programm das via Windows Forms und auch als Windows Service ausgeführt werden kann.
Wenn der Windows Service ausgeführt wird, dann funktioniert der StreamWriter mMn nicht wie erwartet.
Wenn ich z.B.

                                
using (file = new StreamWriter(this._LogPath + filename, true))
{
   file.WriteLine(FormatMessage);
}

schreibe, dann funktioniert das Ganze auch im WindowsService, da es möglich ist die Datei zu erstellen und auch EINE einzige Zeile darin zu schreiben. Somit ist es möglich Zeile für Zeile zu schreiben, was performanztechnisch relativ schlecht ist.
Wenn ich jetzt WriteLine mehrfach hintereinander aufrufe ODER mit einem StringBuilder mehrere Zeilen gleichzeitig in die Datei schreiben möchte, erhalte ich laut ProcMon eine SharingViolation.

Generell wird bei diesem Problem immer von einem Berechtigungsproblem gesprochen. Ich habe jetzt aber auch einen eigenen Administrator angelegt unter dem der Dienst läuft(nur testweise) der auch volle Rechte auch den Zielordner hat und trotzdem bleibt das Verhalten gleich. Als WindowsForms tritt dieses Problem nicht auf.(.NET Framework 4)
Das Komische dabei ist, es ist möglich die Datei anzulegen und jeweils pro neuer StreamWriter-Instanz eine Zeile darin zu schreiben.

Dnake für eure Hilfe.

lg atheos

15.05.2007 - 13:17 Uhr

Grüß Euch,

Auf der Suche nach neuen Kursen im Internet bin ich schon länger auf die Seite http://www.trainingcamp.de/home gelangt.
Jetzt dachte ich mir, dass ich dort in den 7 Tagen den OCP mache bevor ich wieder auf die Oracle Uni gehe und keine Zertifizierung habe.

Jetzt stellt sich die Frage ob jemand von euch dieses Unternehmen schon kennt und mir dieses empfehlen oder abraten kann

Danke für eure Posts

lg AtHeOS

30.03.2007 - 12:38 Uhr

Grüß dich,

1.Du machst dein Server Managment Studio auf.
2.rechte Maustaste auf dene Datenbankinstanz(NUEDOSQL01\CCI)
3.Eigenschaften
4.im linken Menue dann auf Verbindungen
5. Remoteverbindungen mit diesem Server zulassen

lg AtHeOS

19.02.2007 - 13:28 Uhr

Hallo icedre,

Bist du dir sicher das XML hier der richtige weg ist ?

lg AtHeOS

19.02.2007 - 11:22 Uhr

Hallo Heimi,

Welche Applikation willst du den entickeln ?

Achja anbei die Downloads

SQL Server Express
http://www.microsoft.com/downloads/info.aspx?na=22&p=1&SrcDisplayLang=de&SrcCategoryId=&SrcFamilyId=&u=%2fdownloads%2fdetails.aspx%3fFamilyID%3d11350b1f-8f44-4db6-b542-4a4b869c2ff1%26DisplayLang%3dde

SQL Server Management Studio
http://www.microsoft.com/downloads/info.aspx?na=22&p=2&SrcDisplayLang=de&SrcCategoryId=&SrcFamilyId=&u=%2fdownloads%2fdetails.aspx%3fFamilyID%3dc243a5ae-4bd1-4e3d-94b8-5a0f62bf7796%26DisplayLang%3dde

Das Management Studio solltest du auf jeden Fall installieren. Hier kannst du den Server verwalten. Im Gegensatz zum kostenpflichtigen Bruder des SQL-Servers hast du nicht viele einschränkungen. Hier wäre aber zu betonen das die Datenbank eine Größenbegrenzung hat und das du keine AGents nutzen kannst.

Achja zwevks der leichteren integration:
Auch MySQL ist sehr einfach in .Net Applikationen integrierbar

lg AtHeOS

19.02.2007 - 10:11 Uhr

Grüß Euch,

Beachte dass MySQL kostenpflichtig ist wenn du was verkaufst, SQL Server Express jedoch nicht.

Das Stimmt. Bei Mircosoft ist es klar definiert das der SQL Server Express kostenfrei ist.Bei MySQL ist es leider recht schwammig. Leider hat man bei der Express beschränkungen die man in gewissen Fällen beachten sollte. Jedoch reichen die Rahmenbedingungen hier meist aus.

Trotzdem würde ich sagen, dass wir mehr Informationen brauchen um explizit sagen zu können welche Db für die optimal ist.

ich würde dir von MySQL abraten, wenn du mit einer Datenbank in der .NET Programmierung arbeiten willst.

Generell kann man meiner Meinung nach nicht von MySQL abraten.

Und ja, bevor soetwas kommt, ich habe eine Oracleausbildung und ja ich habe auch MSSQL Datenbank 😉

Lg AtHeOS

13.02.2007 - 12:19 Uhr

Grüß Dich,

Naja genaueres kann ich dir nur sagen wenn ich deine Query und deine Tabellen Struktur sehe

lg AtHeOS

13.02.2007 - 12:14 Uhr

Hallo Haumdaucher,

con.ConnectionString = "User Id=dbo113965684;password=xxxxxx;host=db389.1und1.de;Database=db113965684
;";

Aber wie meine Vorredner schon erwähnt haben, lassen viele Provider den Zugriff von aussen nciht zu. Er kann dir jedoch z.B. deine IP freischalten

lg AtHeOS

13.02.2007 - 12:09 Uhr

Hallo Deletemaster,

Selektieren tust du ja via Query oder ?
Da dürfte es keinen Performanz unterschied zwischen den zwei Varianten geben.
Bei Results jedoch kommt es natürlich sehr auf den Treiber an, wie der mit großen Datenmengen umgeht

Bei normalen dml habe ich mir angewohn die parameter gleich in den commandText als String zu packet. Dann kannst du das Statement auch gleich wo anders testen. Weiters ist fraglich wie schnell der neue connector mit dem Parsen der Parameter ist.
Bei StoredProcedure kommst da eh nciht herum

lg AtHeOS

01.02.2007 - 12:56 Uhr

Hallo Jacki,

Ach jetzt sehr ich es erst. Naja deine Schreibweise fördert nicht wirklich die Lesbarkeit.

Wie ist es damit ?
DELETE Top 1 [QTR].[dbo].[Fwd]

Du solltest auf jedenfall eine Sortierung drinnen haben.

lg

01.02.2007 - 12:30 Uhr

Hallo jacki1966,

Du hast die Wherer Klausel vergessen.

Achja von der schreibweise ausgehen, denke ich einmal du benutzer MS-SQL.
Gewöhn dir lieber die standard schreibweise an (für z.b. Tabellen kein[] benutzer), dann tust du dir leichter wenn du es mal mit einer anderen Datenbank zu tun hast

lg AtHeOS

31.01.2007 - 15:00 Uhr

select substring(Spaltenname,0,4) from Tabellenname

02.12.2006 - 12:08 Uhr

Grüß euch,

hmm und warum müssen beide router als router aggieren ?
von der einfachkeit herr sollte es ja reichen wenn er den zweiten router als unwissenden switch konfiguriert. somit ergibt sich auch der gleiche adressenbereich.

lg

02.12.2006 - 12:05 Uhr

Hallo MasterOfCoding,

Leider kann ich die Db mit access nicht öffnen.

Grundsätzlich solltest du dir angewöhnen die einzahl zu verwenden, damit man nicht über den bösen s Fehler darüber fällt.

so könnte ich mir das vorstellen

flight
flight_id
aircraft_id
airport_id_takeoff
airport_id_arrival

Meine Spaltennamen ergeben sich immer aus dem Tabellenname als Präfix und dann der eigentliche Spaltenname. Somit erreicht man eine durchziehend eindeutige Spaltendefinition. In deinem Szenario benötigt man in der Tabelle flight 2 relationen auf die Tabelle airport. Damit es hier eindeutig bleibt, schreibe ich zuerst den realen spaltenname und hänge dann zusätzlich informationen (takeoff,arrivel) an.

lg AtHeOS

02.12.2006 - 11:51 Uhr

Hallo Galileo,

Hab ich das richtig verstanden das du die Rechner nur in der Netzwerkumgebung nicht siehst ? Wenn ja, dann versuch man die Rechner unter den einzelnen Netzen zu pingen.

@all
Wie war das schnell mit klasse c netzwerk und weiteren subnets ?

lg AtHeOS

15.11.2006 - 14:05 Uhr

Hallo MagicAndre1981,

Danke für deinen produktiven Beitrag.

Hast du eventuell ein Beispiel wie ich Firebird Embedded in einer C# App zum laufen bringe ?

Danke

15.11.2006 - 08:44 Uhr

Grüß Euch,

Danke für eure Hilfe.

@FZelle
Ich glaub das deine Lösung zu unperformant für mich sein wird.
Im Hintergrund sollte schon eine db stehen.

@MagicAndre1981
Danke für den Tipp. hab ich mir auch schon gedacht. hast du vielleicht noch ein gutes tut zur hand wie man den Server einbaut ?

lg AtHeOS

14.11.2006 - 14:33 Uhr

Grüß euch,

Ich möchte keinen PDA verwendet sonder einen Rechner. Diese lokale Datenbank soll nur als Buffer dienen damit keine Daten verloren gehen.

Auf der MySQL Webseite steht einiges wegen embedded db, jedoch kann man es anscheinend nirgends downloaden und im forum sind auch einige unbeantwortete fragen.
http://www.mysql.com/oem/

lg AtHeOS

14.11.2006 - 12:38 Uhr

Hat schon jemand erfahrungen mit Mysql Embedded ?

lg AtHeOS

14.11.2006 - 12:09 Uhr

Hi Svenson,

Danke für die rasche Antwort.
Als HauptDb wird Mysql 5 verwendet.

Wie sieht es hier mit CPU auslastung und Performanz aus ?
Wenn die globale DB z.B. ein paar Stunden nicht da ist dann kann einiges an Daten zusammen kommen.

Danke
AtHeOS

14.11.2006 - 12:01 Uhr

Hi Ihr Danke.

Zu welcher Db würdet ihr tendieren ?

lg AtHeOS

14.11.2006 - 08:35 Uhr

Grüß Euch,

Ich weis das es hier keine beste geben kann, jedoch würde ich euch trotzdem bitte mir eine zu empfehlen da ich noch mit keiner Embedded Db gearbeitet habe.

Ich benötige die Datenbank für einen Datensammlungsserver. Dieser soll hier Datein reinschreiben wenn die globale Datenbank nicht verfügbar ist. Wenn die globale DB wieder am Netz ist, dann sollen die Daten aus der Embedded DB in die globale DB geschrieben werden.

Danke für Eure Unterstützung

AtHeOS

31.10.2006 - 12:45 Uhr

Hi Rainbird,

Sooo jetzt funktioniert das ganze.

Großen Dank für deine Mühen.

lg AtHeOS

25.10.2006 - 11:49 Uhr

Grüß Dich,

Da sind sie ja definiert.
Nur wir mache ich folgendes

Label
|> Click
|> EventModuleSendClientHidePanel (hier wird z.B. der Struct HidePanel übergeben)
|> Argumente

Wie lege ich am besten die Argumente ab damit ich mir die Ständige Datenbankabfrage erspare.

Danke

25.10.2006 - 11:27 Uhr

Hallo Herbivore,

Hmm Das geht ja bei bestehenden Controls nicht. Ausser ich schreib ne Klasse die auf diesem Control basiert.

lg AtHeOS

25.10.2006 - 10:31 Uhr

Grüß Euch,

Sorry für die Verwirrende Ausdrucksweise.

Ich versuche es zu Strukturieren, denn der Source wäre zu lang damit man etwas raussehen kann.

Datenbankabfrage welche Elemente in diesem Module geladen werden sollen
|>Function Load item
|>z.B. ein Label hinzufügen
|> Function LoadItemEvents
|>Datenbankabfrage welche Events vorhanden sind
|> z.B. Click Event
|>Datenbankabfrage welche Actionen mit welchen Parametern für dieses Event vorhanden sind
|>z.B. Mach ne Messages box und verdecke ein Panel usw. (hier müssen aber parameter übergeben werden z.B. welches Panel soll er verdecken)

@herbivore
Wie kann ich z.B. dem Click Event eines Labels sagen das er meine Eventhandler benutzt (wenn ich dich richtig verstanden habe). Hier kann ich ja nur den passenden EventHanlder benutzen oder ?

Die eigenen Events sehen z.B. so aus
(Jedes Modul ein UserControlExtended Steuerelement das von UserControl erbt)

    public delegate void HandlerModuleSendClientHidePanel(FrameHideInfo FrameInfo);          
    public event HandlerModuleSendClientHidePanel ModuleSendClientHidePanel;  
    protected void OnModuleSendClientHidePanel(FrameHideInfo FrameInfo)  
    {  
        FrameInfo.SendModuleID = this.ModuleID;  
        if (ModuleSendClientHidePanel != null)  
        {  
            ModuleSendClientHidePanel(FrameInfo);  
        }  
    }  

Ich Hoffe die Verwirrung nicht gefördert zu haben ;-9

lg AtHeOS

25.10.2006 - 10:10 Uhr

Grüß Dich Rainbird,

Danke für deinen Post.

Mit der Art sollte es egal sein welche Excel Version installiert ist oder ?

Aber egal was ich mache ich bekomme eine Fehlermeldung wie die folgende:
System.Data.OleDb.OleDbException: Die INSERT INTO-Anweisung enthält folgenden unbekannten Feldnamen: 'ArtikelBezeichnung'

Nur wie kann ich die Feldnamen definieren bzw. wie kann ich z.b. direkt auf die Spalte A zugreifen

24.10.2006 - 12:19 Uhr

Hallo herbivore, Hallo ikaros,

Dachte ich mir fast. Wenigstens hab ich das Umfeld rüber bringen können.

Wenn ich z.B. auf einen Button klicke, dann können mehrere Eventhandler ausgeführt werden.
Hier können Verschiedene Aktionen durchgeführt werden die man in der Datenbank definiert.
Nun brauche ich irgendeine Relationen der einzelen Eventhandler zu den Parametern.
z.b. ActionTypeID=1 mach irgendwas
z.b. ActionTypeID=2 mach irgendwas anderes mit ActionParam1

Wenn ich die Handler Registriere werden Sie zwar ausgeführt nur leider weis ich da nicht mehr was die machen sollen

Eventuelle Lösung:
Nur einen Handler Registrieren und dann jedes Mal die Datenbank befragen.
Ich hätte aber lieber die Daten in der Applikation

Ich hoffe mich verständlicher ausgedrückt zu haben.
lg AtHeOS

24.10.2006 - 12:12 Uhr

Grüß Euch,

Kleiner Aufruf an Rainbird, weil ich glaube das du es aus dem Stehgreif weißt.

Ich Lesen eine Excel Datei ein und konvertiere die Daten.
Danach möchte ich diese Daten in eine nicht vorhandene Excel Datei schreiben.
Jedoch sagt er mir hier immer das er den Spaltennamen nicht kennt.
Gibt es hier einen Trick wie man z.b. Spale a , B usw. ansprechen kann ?

Danke
AtHeOS

23.10.2006 - 14:56 Uhr

Hallo KevinWinter,

Wie wäre es mit ....

Query = "Select "+strObjectname+" from "+ strTablename;

und wenn es mehrerre Spalten sien sollten dann einfach....

Query = "Select ";
irgendeineschleifen()
{
Query+= strObjectname+",";
}
Query+= " from "+strTablename;

lg AtHeOS

23.10.2006 - 14:26 Uhr

Hallo KevinWinter,

Wie meinst du genau "SQLs generiert" ?

Lg AtHeOS

23.10.2006 - 09:50 Uhr

Hallo demondriver235,

So einfach ist das leider nicht wenn man es genau nimmt.
So lange du selbst unter GNU Lizensierst ist das ganze null Problem.

Bei Kommerziellen Anwendungen müsstest du offiziell auch Lizenz zahlen

http://www.mysql.com/company/legal/mysqloemagmt_DE.pdf

lg AtHeOS

23.10.2006 - 09:46 Uhr

Hallo Stift,

Hast du hierzu den MysqlConnector von Mysql benutzt ?

Das Programm brauch hier sowieso keine Lizenz.
Bei Mysql sind die Lizenzen Serverabhängig.
Soll heißen mann muss für den Server Lizenz zahlen und nicht für das Programm.
Da du eine Nicht-Kommerzielle Anwendung hast, brauchst du auch keine Lizenz bezahlen.

lg AtHeOS

23.10.2006 - 09:42 Uhr

Grüß Euch,

Ich weis der Betreff klingt etwas seltsam aber naja 😉

Umfeld:
Ich habe eine Applikation die in einem Splitcontainerkonstrukt (wird in der Db definiert) UserControls reinlädt.
Sowei so gut.
Nun ist es auch wichtig das diese Controls von Zeit zu Zeit miteinander kommunizieren.
Hierzu habe ich basieren auf der UserControl Klasse eine erweiterung geschrieben die ich im folgenden UserControlExtended bezeichne.
In UserControlExtended gibt es nun zusätzliche Funktionen und zusätzliche Events.
Mittels der Events Kommunizieren die Controls schon.
Jedoch ist es so das die Elemente (also Panels Gauges Grides usw.) und deren Definition aus der Datenbank geladen werden. Jedes dieser Elemente kann mehrere Events besitzen wobei jedes Event wiederum mehrere Aktionen besitzen kann. Soll heißen: Man klickt auf einen Butten und ein fenster schließt sich und ein anderes Geht auf.

Die Eigenschafter der Aktionen sind statisch. Damit ich mir das nachladen der Actionsparameter erspare, würde ich gern diese Daten zwischenspeichern da ich sie beim Erstellen sowieso mitladen muss.

Die Frage ist jetzt, wie ich das am besten Löse? Am liebsten wäre mir wenn diese Aulagerung in der UserControllExtended passiert.

Danke für Euren Denkanstoß
AtHeOS

05.10.2006 - 12:12 Uhr

hallo herbivore,

Das funktioniert leider nicht.
Weißt du noch eine Mmöglichkeit wie ich mich direkt auf die Tatatureingabe hängen kann ?

Danke

05.10.2006 - 11:20 Uhr

hallo herbivore,

Danke für deine Antwort.

Ich habe nun die Formeigenschaft KeyPreview auf true gestellt.

Nun arbeite ich das Event PreviewKeyDown ab.
Leider landet hier nichts.

Control.WndProc wird irgendwie mit der Codecompletion nciht angezeigt.

Noch zum Verständnis der Aufbau des Programms:
Form
->Splitcontainer
->Splitcontainer
->Splitcontainer
-> Control

Weil das Programm soetwas wie eine dynamische Gui ist sind so viele Splitcontainer drinnen.

Danke für Eure Antworten.
lg AtHeOS

05.10.2006 - 10:31 Uhr

Grüß euch,

Ich weis das dieses Thema schon breitgetreten ist, jedoch finde ich für meinen Fall keinen Lösungsansatz.

Ich habe ein Control. Dieses soll z.b. mitbekommen wen Strg gedrückt wird um dann die Elemente zu Resizen. Sowei so gut.

Dieses Control wird con einer eigenen Umgebung geladen von der mehrere Controls geladen werden.

Nun bekomme ich über die Events KeyDown und KeyUp keine Werte rein (weil das Control eventuell nicht den focus hat.)

Wie kann ich nun die Tastatureingabe anzapfen ?

Danke für eure Antworten

07.09.2006 - 08:27 Uhr

hi Robert G,

danke für deine antwort.

Ich habe es selbst aber noch nie mit einer .Net App probiert, dort hat (bisher) immer noch AppDomain.AssemblyResolve gereicht.

naja meine app läuft ja 😉

der namespace appdomain hört sich shcon recht gut an.
weis einer die genaue eigenschaft die angegeben werden muss wenn man einen statischen ladepfad verwendet z.b. 'C:\driver' (nur beispiel)

lg AtHeOS

06.09.2006 - 11:58 Uhr

Grüß euch,

Ich habe folgendes Szenario
Eine Webapplikation in C# diese greift auf eine Oracle und eine MySQL Datenbank

Nun benötigt diese *.dll die Libraries für Oracle und Mysql lokal am rechner.
Gelösst wurde dies durch einen Installer.
dieser legt die anderen *.dlls ins System32 verzeichnis.
das funktioniert alles fein.
jedoch gibt es bei uns in der firma auch andere applikationen die mit oracle arbeiten. und da diese eine ältere version der oracle lib benutzen, funktionieren diese nach dem installer nicht mehr.
lösungsansatz. meine erforderlichen *.dll's in einen eigenen ordner zu speichern und der applikation sagen das sie diese dort suchen soll.
nur wie referenziere ich auf einen bestimmten ordner in dem die applikation selbst nicht ist.

ich hoffe ich habe mich nicht allzu verwirrend ausgedrückt

Danke für eure Antworten

lg AtHeOS

01.08.2006 - 12:21 Uhr

Hallo svenson,

Danke für die Antwort.
Muss da noch checken ob das meinen anforderungen entspricht.

lg AtHeOS

01.08.2006 - 09:50 Uhr

Grüß euch,

@ZiMD
Der Sprüch ist von Bill Gates. Ich find Ihn irgendwie geil 😉

Wie Gimley schon sagte, es ist Geschmackssache. Die limit Gruppenfunktion ist auch kein schlagendes Argument. Diese könnte man für jede Datenbank die UDF's oder Stored Functions unterstützt, selbst machen.

Achja 100.000 Einträge sind für beide DB's kein Problem. Habe im Haus ein paar Sql-Server2005 und MySQL 5.0 mit einigen mehr Einträgen und das funktioniert trotzdem sehr gut.

Sql Server:
Ist besser integriert in VS (ist auch klar)
leichter anfällige für probleme (mit Benutzern und Rechnerumbenennung usw.)
Der neue Servermanager vom 2005 macht die Arbeit recht komfortabel

MySQL:
Leichte Handhabung.
Bei einem Backup kann man auch aus Frakmenten etwas sinnvolles wiederherstellen

Als ZUsammenfassung:
Jede Db hat Ihre Vor und Nachteile. Ich arbeite mit Oracle,Mysql und MSSQL und ich muss sagen, dass ich MySQL am angenehmsten finde. Da du dir hier um viele Sachen keine Gedanken machen musst.

lg AtHeOS

01.08.2006 - 09:41 Uhr

Grüß euch,

Gibt es eine Möglichkeit eine Applikaiton zu entwickeln die auf einem PC (z.B. WinXP) einem PDA (Windows Mobile 2003) und auf einem PC mit Win Embeddet läuft ?

Wenn nicht, gibt es die Möglichkeit die Module (*dlls) der anderen Projekte zu nutzen ?

lg AtHeOS

31.07.2006 - 17:51 Uhr

Hallo ScToSh,

Kein Thema . Freut mich zu hören das es dir geholfen hat.

lg AtHeOS

31.07.2006 - 12:18 Uhr

Grüß dich,

Warum erweiterst du eigentlich nicht die bestehene Tabelle ?

Du kannst auch mit einem Insert mehrere Datensätze einfügen (ist um einiges Performanter)
z.B. INSERT INTO tbl_name (a,b,c) VALUES(1,2,3),(4,5,6),(7,8,9);

Du kannst auch mit Insert into .. Select arbeiten. Wenn das deine Db unterstützt. Hier werden alle Zeilen eingefügt die aus einer anderen Tabelle selektiert werden.
INSERT INTO tbl_temp2 (fld_id)
SELECT tbl_temp1.fld_order_id
FROM tbl_temp1 WHERE tbl_temp1.fld_order_id > 100;

lg AtHeOS

31.07.2006 - 11:23 Uhr

Grüß Dich Wolf_maYer,

Naja wenn du sowieso den Connectionstring ändern müsstest kannst du dir ja gleich eine Tabelle anlegen in der du die Zugriffe loggst(die brauchst du ja sowieso).
Dann baust du einfach eine einheitliche funktion in deine Programme ein die z.b. beim starten ausgeführt wird und einen Eintrag in die Tabelle macht.

Ich habe für meine Server z.b. eine Prozedur geschrieben die von den Applikationen angesprochen wird. Dieser werden einige Parameter übergeben (welche du eben brauchst) und die Prozedur schreibt den Eintrag in die Tabelle.

lg AtHeOS

31.07.2006 - 09:04 Uhr

hallo T1mo,

Du solltest noch darauf achten dass dein Provider einen Zugriff von anderen Hosts erlaubt.
Nicht das du glaubst das dein Code nicht funktioniert und es aber an deinem Provider liegt

Ich hänge dir noch einen ConnectionString an
"User Id=" + DeinUser + ";password=" + DeinPasswort + ";host=" + DeinServer + ";Database=" + DeinSchema(Datenbank) + "

lg AtHeOS