Ich möchte eine kleine standalone Applikation schreiben, die Zugriff auf Daten in einer Datenbank (z.B. MSDE) hat. Nun soll aber die Datenbank nicht auf dem Rechner selber laufen, sondern auf einem Server der via Internet erreichbar sein soll. Das ganze soll aber erst mal keine Web-basierte Geschichte werden, da ich diese Webapplikationen von der Bedienung her immer ein wenig problematisch finde.
Blöde Frage - wie macht man das? Hat jemand einen Buchtip oder ein Link auf ein Tutorial?
Ausserdem soll das ganze nicht an jeder Firewall scheitern. Skype macht ja auf den ersten Blick auch sowas. Wobei bei mir das ganze nicht dezentral sein müßte.
Danke schonmal,
Klaus
MSDN schrieb:
Open Method (Recordset) ADO
Opens a cursor.
Applies To
Recordset
Syntax
recordset.Open Source, ActiveConnection, CursorType, LockType, Options
Parameters
**Source Optional. A Variant that evaluates to a valid Command object variable
name, an SQL statement, a table name, or a stored procedure call.
ActiveConnection Optional. Either a Variant that evaluates to a valid Connection
object variable name, or a String containing ConnectionString parameters.**
...
Ich würde die Variante mit dem ConnectionString verwenden.
Da die Rede von SQL Plus ist gehe ich davon aus dass du Oracle verwendest.
Dann machs so:
SET SERVEROUTPUT ON SIZE 10000;
DECLARE
v_errormessage VARCHAR2(512) := '';
BEGIN
<hier deine SQL Statements>
EXCEPTION WHEN OTHERS THEN
v_errormessage := SQLERRM;
DBMS_OUTPUT.PUT_LINE('Fehlermeldung: ' || v_errormessage);
END;
Anscheinend haben wir die ganze Zeit ein wenig aneinander vorbeigeredet.
Wenn du von Rich-Client sprichst hast du vollkommen recht.
Mit J2EE befindet sich die Applikationslogik natürlich auch am Server, nur halt nicht in der Datenbank.
Ist auch immer eine Frage des KnowHow.
Ich würde mir ziemlich schwer tun eine Applikation rein mit SPs, Triggers, ... zu entwickeln, die mehr als nur Daten lädt und speichert. Alleine das Debuggen stelle ich mir ziemlich mühsam vor.
ms
Falls du die nicht mehr beim Verlag bekommen kannst, hast du wohl nur noch Ebay als Alternative.
Womit man am besten anfängt ist wohl pro Person anders.
Ich würde dir MySql raten, wenn du erstmal nur Insert, Update, Delete und Select lernen willst. (Damit bist du eine Weile beschäftigt )
hi sorry ja hätte ich gleich machen können
eine aussage in einem anderen forum
hat nich auf die idee gebracht doch einfach mal die cpu´s zu monitoren!
das ergebniss war das top die 99,9% auf den mysqld anzeigt sobald 25% gesamtlast erreicht sind, braucht mysqld nun zb. 30 und mehr % gesamt cpu so zeigt top einfach weiterhinn 99,9% aud dem mysqld denn mehr kann es nicht oder wie auch immer (eigentlich ein anzeigefehler von top)
nicht zu sehen im normalfall ist das, weil der server hardwareseitig für unsere zwecke selbst bei über 1500 usern online im forum total überdimensioniert ist und nur vor sich her dümpelt
lange rede kurzer sinn! der kernel teilt die last 1a auf und mysqld läuft auf allen cpu´s
mfg
Holger
Sub-Queries in ORBER BY-Klauseln? Hört sich ziemlich ungewöhnlich an
Jo, kann aber Sinn machen, wenn der Wert, nachdem sortiert werden soll, erst aus Spalten mehrer Tabellen berechnet werden muss.
Übrigens kann man deine Query etwas verkürzen, indem man ein paar Tabellen-Aliase weglässt (wird nur im WHERE-Teil der Sub-Queries benötigt):
Klar muss man die Alias nicht immer hinschreiben. Ich habs mir ab so angewöhnt; wenn man mit mehreren Verschachtelungsebenen arbeitet, weiß man so immer, worauf man sich bezieht. Ich zähl dann immer hoch, erste Ebene kriegt ne eins (oder nichts) drangehängt, ans Alias, die zweite eine zwei usw. .
Wer hat was von umständlich gesagt??
Einfach Installationsdatei herunterladen, doppelt klicken und immer auf weiter klicken... feddich!
Du kannst dir allerdings auch eine Embedded Version vom MySQL Server schnappen. Dann musst du nix zusätzlich installieren und dein Programm ist gleichzeitig auch der Datenbankserver mit dem es zusammen arbeitet.
Ja richtig, hat geklappt. Was bedeutet aber nun AFX_IDP_SQL_ROW_FETCH bzw.
"Fehler beim Abruf eines Datensatzes". Wenn man mit dem Zeiger m_pSet mit Move...() sich bewegt, klappen die meisten Datensätze, andere allerdings nicht (siehe Fehlermeldung). Wo kommt dieser Fehler her? Mit GetLastError() erhält man immer null, also alles "o.k." Wie kann ich diesen Fehler abfangen? Die Funktionen Move...() sind vom Typ void, liefern also keinen Fehlerwert zurück.
ja schon. Ich habs aber nicht andets gelernt. Ich bin kein Profi. Für mich stellt sich auch die Frage ob ein Umstieg "so leicht" ist. Ich lern gerne dazu sagste mir nur welche komponenten ich denn dann benützen soll??
Hallo zusammen
Noch ne Anfängerfrage (jeder hat mal angefangen):
Ich will in der SELECT Anweisung Variablen verwenden, was aber nicht funktionieren will. Es geht nur, wenn die Spaltennamen in der Access Tabelle da stehen. Kann man das nicht? Was für ein Datentyp müsste so eine Variable sein? Sind bei mir AnsiString (Borland C++Builder), die werden aber nicht gefressen!
Kann ich die mit einer Funktion umwandeln?
Danke Euch für eine baldige Antwort!
Schönen Abend noch
Hesiod
Hi,
Zur Variante 2 ist mir noch folgendes Problem aufgefallen:
Wenn ich z.B. eine Liste mit allen Liedern anzeigen möchte, bekomme ich von meiner SQL Abfrage z.B. folgendes Ergebnis:
[b]Titel[/b] [b]Interpret[/b]
Lied 1 InterpretA
Lied 1 InterpretB
Lied 2 InterpretC
D.h. soviele verschiedene Interpreter ein Lied hat, so oft wird es auch in der Liste aufgeführt. Somit muss ich die Liste vor dem Anzeigen erstnochmal programmtechnisch auseinander nehmen, damit jedes Lied nur einmal auftauch und die unterschiedlichen Interpreten zu den Liedern zusammenfassen.
Bei Variante 1 dagegen, würde ich pro Lied nur einen Interpreten angezeigt bekommen und somit taucht jedes Lied gleich beim Abfrageergebnis nur einmal auf.
Was denkt ihr dazu?
Hmm, so ein Datenbankentwurf ist schon eine schwere Entscheidung...
TIA
Crazy-X