Hallo,
ich habe 2 Rechner, welche miteinander vernetzt sind. Jetzt will ich auf meinem Hautprechner eine Firebird-Datenbank installieren (bzw. habe ich schon gemacht) und will nun ausser von meinem Hauptrechner auch von meinem 2. Rechner aus auf diese Datenbank mittels einem von mir geschriebenem Programm zugreifen. Der Zugriff lokal funkioniert auch so wie er soll, nur kann ich nicht von meinem 2. Rechner über das Netzwerk auf die Datenbank zugreifen.
Mein Problem ist nun, dass ich keine Ahnung hab, wie ich die Firebird-Datenbank (oder das dazugehörige Config-File) konfigurieren muss. (Komme mit der mitgelieferten "Anleitung" überhaupt nicht klar).
Auf dem Hauptrechner ist Firebird als "SuperServer" installiert, auf dem 2. Rechner versuche ich das ganze mit dem "Embedded-Server" (habs aber auch schon mit dem Superserver erfolglos versucht).
Kann mir jemand weiterhelfen ?
Ich vermute mal, die Rundungsfunktion dürfte von deinem System abhängen - im Notfall rechnest du die Zeitangabe in Sekunden um und dividierst sie (ganzzahlig) durch 60.
Ich bring mir gerade ODBC-Datenbanken eintwicklung unter VCpp. Ich habe aber nun ne Frage:
Ich würde gerne einen Tunierplaner entwickeln, bei dem man eine Datenbank mit Daten füllt (was ja nahe liegt :p ) und daraus dann per zufallsprinzip ein druckbarer Tunierplan wird. Dazu sollte man ja aber nicht immer die gleiche Datenb bearbeiten. Deswegen sollte es sowas wie ein Prototyp Model einer DB geben und davon bei neuen Projekten einfach nur eine Ableite.
Wie realisier ich das?
Hallo zusammen,
ich arbeite gerade mit dem SQL2000 Query Analyzer und würde gerne Daten aus mehreren Datenbanken gemeinsam verwenden.
Bei dem Query Analyzer muss ich aber oben in der Menüleiste die aktuell verwendete Datenbank auswählen. (z.B. DB1)
Wie ist es dann möglich auf Tabellen einer anderen Datenbank zuzugreifen (z.B. DB2) ?
Danke
TanteMaridi
Hallo,
Ich schreibe eine Anwendung mit Visual C++ und muss mit dieser auf eine bestehende Oracle Datenbank der Version 9i zugreifen. Den Zugriff habe ich über ODBC schon hergestellt und auch Abfragen sind schon erfolgreich implementiert.
Nun habe ich von einem Vorgänger folgenden VB-Code bekommen, an dem ich mich orientieren soll.
Ich bin schon seit Tagen auf der Suche nach den entsprechenden C++ Funktionen um das ganze zu portieren.
Allerdings nix gefunden. Ich vermute, das es sich irgendwie mit der Funktion BindParameters der Klasse CDatabase lösen lässt, bei der ich mangels Literatur auch noch nicht voll dahintergestiegen bin.
Vielleicht hat ja so etwas schon mal gemacht oder jemand kennt einen Ansatz.
Bin für alles dankbar.
Gruss
Hier der zu portierende Codeabschnitt:
OraDatabase.Parameters.Add "NE_NAME", strNe_Name, ORAPARM_INPUT
OraDatabase.Parameters("NE_NAME").ServerType = ORATYPE_VARCHAR2
OraDatabase.Parameters.Add "TECH", strTech, ORAPARM_INPUT
OraDatabase.Parameters("TECH").ServerType = ORATYPE_VARCHAR2
OraDatabase.Parameters.Add "ORT", strOrt, ORAPARM_INPUT
OraDatabase.Parameters("ORT").ServerType = ORATYPE_VARCHAR2
OraDatabase.Parameters.Add "RETVAL", 0, ORAPARM_OUTPUT
OraDatabase.Parameters("RETVAL").ServerType = ORATYPE_NUMBER
Call DoLog("Parameters: strNe_name = " & strNe_Name & " strTech = " & strTech & " strOrt = " & strOrt)
' Prepare procedurecall
strPlSql = ""
strPlSql = strPlSql & "DECLARE "
strPlSql = strPlSql & " RETVAL INTEGER; "
strPlSql = strPlSql & "BEGIN "
strPlSql = strPlSql & " :RETVAL := IBSYADM.PKG_NE.F_GET_HITS "
strPlSql = strPlSql & " (:NE_NAME,:TECH,:ORT); "
strPlSql = strPlSql & "END;"
Call DoLog(strPlSql)
' Execute PL/SQL
OraDatabase.DbExecuteSQL (strPlSql)
' Get result
getHits = OraDatabase.Parameters("RETVAL").Value
Call DoLog("getHits = " & getHits)
'Remove the Parameters.
OraDatabase.Parameters.Remove "NE_NAME"
OraDatabase.Parameters.Remove "TECH"
OraDatabase.Parameters.Remove "ORT"
OraDatabase.Parameters.Remove "RETVAL"
Okay ich habs gecheckt! Es liegt daran dass ich keine Datei in meinem Verzeichnis mit dem Befehl "...INTO OUTFILE..." erzeugen kann! Muss mal nach einer anderen Möglichkeit schauen!
personenkult schrieb:
evtl. is das totaler Schwachsinn, den ich da poste
Macht nichts, bei mir ja auch. Bin ja innerhalb eines Posts in drei verschiedene Richtungen gerannt...
Ich glaube nicht, dass es am @@Identity liegt. Weiß aber nicht warum. Nun, ich hab jetzt die Verbindung der beiden Tabellen im DataSet gekillt und der Child-Tabelle eine neue Spalte gegeben, die die vom DBMS erhaltenen Schlüsselwerte der Haupttabellendatensätze bekommt. Diese werden dann direkt vor dem Schreiben ins Fremdschlüsselfeld kopiert. Klingt umständlich, dämlich und nicht nachvollziehbar - ist es auch.
Hallo
Könnt Ihr mir bitte sagen, wie ihr eine Verbindung zu einer Datenbank (Paradox .db) herstellen würdet?
Geht das ganze auch ohne Alias, oder kennt jemand zum thema ein gutes tutorial.
Momentan arbeitet mein prog mit Alias, nur leider funkt das so dann nicht auf anderen rechnern. Also wie bekomm ich das auch dort zum laufen?
danke
Alex
Hmm, hilft mir bisher noch nicht so viel weiter! Beim Builder v6.0 ging das ganze mal über die externe Typbibliothek Adoxcatalog, aber die lässt sich beim BDS 2k6 nicht mehr ohne weiteres einbinden.
... geht nicht:
typedef unsigned short int ush;
bool daten::put_int(string &name, ush &wert)
{
Dbt key,data;
memset(&data,0,sizeof(data));
memset(&key,0,sizeof(key));
key.set_data(&name);
key.set_ulen((u_int32_t) name.size());
data.set_data(&wert);
data.set_ulen((u_int32_t) sizeof(ush));
int ret = main->getDb().put(NULL, &key, &data,DB_NOOVERWRITE);
...
}
folgendes (seltsames) Verhalten:
1. Ein Wert lässt sich schreiben, jeder weitere Versuch (auch mit völlig anderen Namen/Werten) erzeugt ein DB_KEYEXISTS, auch nach Neustart des Programms
2. Eine Abfrage
ush temp = (ush)data.get_data();
liefert Sinnlose Werte
3. Die Größe der Datenbankdatei ändert sich auch nicht, ob ich etwas hineinschreibe oder nicht
Zum öffnen/schließen der DB nutze ich die mitgelieferten Beispiele
Ich hoffe es kann jemand helfen
Vielen Dank
ein genervter Karl-R.