dBase Treiber in anderen Sprachen verwenden
Moderator: Moderatoren
-
- Rekursionen-Architekt
- Beiträge: 440
- Registriert: Mo, 30. Mai 2011 15:06
- Danksagung erhalten: 1 Mal
dBase Treiber in anderen Sprachen verwenden
Hi,
Ich habe mir kürzlich mal etwas C# reingezogen. Nach etlicher Recherche im Internet bin ich leider aber auf keinen grünen Zweig gekommen.
Und zwar würde ich gerne die dBase-Datenbanken mit C# verwenden, anstatt eines SQL-Servers.
Das liegt daran, dass die Installation eines SQL-Servers einfach für die größe der Programme, die wir erstellen, viel zu aufgebläht ist.
Mit den dbf-Dateien hat man dagegen eigentlich absolut keine Probleme.
Hat das mal jemand gemacht?
Ich habe mir kürzlich mal etwas C# reingezogen. Nach etlicher Recherche im Internet bin ich leider aber auf keinen grünen Zweig gekommen.
Und zwar würde ich gerne die dBase-Datenbanken mit C# verwenden, anstatt eines SQL-Servers.
Das liegt daran, dass die Installation eines SQL-Servers einfach für die größe der Programme, die wir erstellen, viel zu aufgebläht ist.
Mit den dbf-Dateien hat man dagegen eigentlich absolut keine Probleme.
Hat das mal jemand gemacht?
-
- Der Entwickler von "Deep Thought"
- Beiträge: 2825
- Registriert: Fr, 08. Feb 2008 21:29
- Hat sich bedankt: 96 Mal
- Danksagung erhalten: 13 Mal
Re: dBase Treiber in anderen Sprachen verwenden
Hallo,
es sollte Treiber geben, weil es auch Clipper-Alternativen gab, die unter C laufen sollten.
Aber, in Sachen SQL-Server, es gibt zum einen SQLite (gewöhnungsbedürftig, nicht unbedingt netzwerkfähig, braucht nur eine DLL, bzw. eine EXE für die Konsole), oder aber MySQL, das man mit der libmysqld.dll als embedded Server nutzen kann, d.h. Du lieferst den entsprechenden Verzeichnisbaum mit, der die notwendigen Dateien enthält, und dann geht das auch.
es sollte Treiber geben, weil es auch Clipper-Alternativen gab, die unter C laufen sollten.
Aber, in Sachen SQL-Server, es gibt zum einen SQLite (gewöhnungsbedürftig, nicht unbedingt netzwerkfähig, braucht nur eine DLL, bzw. eine EXE für die Konsole), oder aber MySQL, das man mit der libmysqld.dll als embedded Server nutzen kann, d.h. Du lieferst den entsprechenden Verzeichnisbaum mit, der die notwendigen Dateien enthält, und dann geht das auch.
Liebe Grüsse aus der Eifel,
Georg S. Lorrig
Redakteur der Wiki des Deutschprachigen Xbase-Entwickler e.V.
Georg S. Lorrig
Redakteur der Wiki des Deutschprachigen Xbase-Entwickler e.V.
- brandelh
- Foren-Moderator
- Beiträge: 15697
- Registriert: Mo, 23. Jan 2006 20:54
- Wohnort: Germersheim
- Hat sich bedankt: 66 Mal
- Danksagung erhalten: 33 Mal
- Kontaktdaten:
Re: dBase Treiber in anderen Sprachen verwenden
ODBC Treiber von Microsoft oder die DAO, ... aber warum nicht gleich eine Access MDB ?
Gruß
Hubert
Hubert
-
- Rekursionen-Architekt
- Beiträge: 440
- Registriert: Mo, 30. Mai 2011 15:06
- Danksagung erhalten: 1 Mal
Re: dBase Treiber in anderen Sprachen verwenden
Okay, das sind alles gute Argumente und ich denke, das werde ich mir für neue Anwendungen auf jeden Fall überlegen!
Aber ich habe auch noch Anwendungen, die sich nicht so einfach umbauen lassen und mit dBase laufen. Für die gibt es ja sicher eine Möglichkeit.
@Georg: weißt du auch zufällig wie diese Treiber aussehen, bzw. wo man die finden kann und wie man sie benutzen kann?
@brandelh: funktioniert der ODBC tatsächlich auch für dBase? Ich glaube ich habe irgendwie eine falsche Vorstellung davon, was ein Datenbanktreiber überhaupt ist
Aber ich habe auch noch Anwendungen, die sich nicht so einfach umbauen lassen und mit dBase laufen. Für die gibt es ja sicher eine Möglichkeit.
@Georg: weißt du auch zufällig wie diese Treiber aussehen, bzw. wo man die finden kann und wie man sie benutzen kann?
@brandelh: funktioniert der ODBC tatsächlich auch für dBase? Ich glaube ich habe irgendwie eine falsche Vorstellung davon, was ein Datenbanktreiber überhaupt ist
-
- Der Entwickler von "Deep Thought"
- Beiträge: 2825
- Registriert: Fr, 08. Feb 2008 21:29
- Hat sich bedankt: 96 Mal
- Danksagung erhalten: 13 Mal
Re: dBase Treiber in anderen Sprachen verwenden
Hallo, benz -
versuche es mal mit
versuche es mal mit
bei Google. Gibt da schon eine Menge Treffer. Ich habe mich mit dem Thema zu Clipper 5 Zeiten mal beschäftigt, und das ist ziemlich lange her. Ausserdem verstehen C und ich uns nicht besonders gut.dbase driver for c
Liebe Grüsse aus der Eifel,
Georg S. Lorrig
Redakteur der Wiki des Deutschprachigen Xbase-Entwickler e.V.
Georg S. Lorrig
Redakteur der Wiki des Deutschprachigen Xbase-Entwickler e.V.
-
- Rekursionen-Architekt
- Beiträge: 440
- Registriert: Mo, 30. Mai 2011 15:06
- Danksagung erhalten: 1 Mal
Re: dBase Treiber in anderen Sprachen verwenden
Okay, schade dann werde ich mal google nochmal bemühen Trotzdem danke!
- brandelh
- Foren-Moderator
- Beiträge: 15697
- Registriert: Mo, 23. Jan 2006 20:54
- Wohnort: Germersheim
- Hat sich bedankt: 66 Mal
- Danksagung erhalten: 33 Mal
- Kontaktdaten:
Re: dBase Treiber in anderen Sprachen verwenden
Oben sprachst du von C#, das kann auf ODBC zugreifen.Benz hat geschrieben:Aber ich habe auch noch Anwendungen, die sich nicht so einfach umbauen lassen und mit dBase laufen. Für die gibt es ja sicher eine Möglichkeit.
@brandelh: funktioniert der ODBC tatsächlich auch für dBase? Ich glaube ich habe irgendwie eine falsche Vorstellung davon, was ein Datenbanktreiber überhaupt ist
dBase selbst hat eigene Treiber, kann aber genausowenig wie Clipper mit ODBC umgehen.
KEIN gemeinsamer Zugriff von dBase, C# über ODBC und DAO !
Oder meintest du die DBF Dateien, diese kann man verwenden solange man nicht gleichzeitig öffnet.
Die Indexdateien hingegen sind meist sehr verschieden, nach meiner Kenntnis kann nur Xbase++ gemeinsam mit Clipper zugreifen.
Gruß
Hubert
Hubert
- nightcrawler
- 1000 working lines a day
- Beiträge: 651
- Registriert: Di, 24. Apr 2012 16:33
- Wohnort: 72184 Weitingen
- Hat sich bedankt: 3 Mal
- Danksagung erhalten: 96 Mal
- Kontaktdaten:
Re: dBase Treiber in anderen Sprachen verwenden
Advantage .NET Data Provider wäre eine Möglichkeit:
http://devzone.advantagedatabase.com/dz ... latform=11
http://devzone.advantagedatabase.com/dz ... latform=11
-
- Rekursionen-Architekt
- Beiträge: 440
- Registriert: Mo, 30. Mai 2011 15:06
- Danksagung erhalten: 1 Mal
Re: dBase Treiber in anderen Sprachen verwenden
schonmal danke! Bin grad ein wenig am rumprobieren bei der Apollo-Database-Engine.
@azzo: kennst du dich damit aus?
Wie kann ich denn einen Index damit aufrufen bzw. nach dem Index sortieren und die Daten in der Sortierung anzeigen lassen? Das Anzeigen funktioniert schon, ich gehe einmal durch die Datenbank und schreibe alles in eine Listbox, nur die Sortierung funktioniert noch nicht.
@azzo: kennst du dich damit aus?
Wie kann ich denn einen Index damit aufrufen bzw. nach dem Index sortieren und die Daten in der Sortierung anzeigen lassen? Das Anzeigen funktioniert schon, ich gehe einmal durch die Datenbank und schreibe alles in eine Listbox, nur die Sortierung funktioniert noch nicht.
- azzo
- Rekursionen-Architekt
- Beiträge: 483
- Registriert: So, 28. Mär 2010 19:21
- Danksagung erhalten: 11 Mal
Re: dBase Treiber in anderen Sprachen verwenden
Hallo,
ich habe Apollo mit VB6 und VB.NET genutzt.
Leider ist das schon lange her.
Derzeit habe ich kein VS installiert.
Das ist alles was ich im Moment finde. Ich habe diese alten Sachen (2004) nur noch auf Sicherungen.
lg
Otto
ich habe Apollo mit VB6 und VB.NET genutzt.
Leider ist das schon lange her.
Derzeit habe ich kein VS installiert.
Das ist alles was ich im Moment finde. Ich habe diese alten Sachen (2004) nur noch auf Sicherungen.
lg
Otto
Code: Alles auswählen
aus VB6
custarea = sx_Use(App.Path + "\lisch.dbf", "lisch", EXCLUSIVE, SDEFOX)
sx_Zap
sx_Select (sx_WorkArea("lisch"))
sx_Close
------------------
cn_artikel.Open "Provider=SDEOLEDB;Data Source=" + App.Path + "\datakass;Mode=Read;SDE OLEDB: RDE Type=FoxPro"
lRetVal = sx_SysProp(SDE_SP_PUTOBUFFER, 0)
rs_artikel.Open "File=" + "ARTIKEL;Index=TAG:ar_NR", cn_artikel, adOpenStatic, adLockReadOnly, adCmdTable
sx_Select (sx_WorkArea("artikel"))
sx_SetOrder (1)
If sx_Seek((cSuchen)) Then
satznr = sx_RecNo()
rs_artikel.Bookmark = satznr
sx_Select (sx_WorkArea("artikel"))
sx_SetOrder (1)
aus VB.NET
------------------
sx_SetDeleted(True)
sx_SetCentury(True)
sx_SetDateFormat(GERMAN)
Private Sub Form1_Load(ByVal eventSender As System.Object, ByVal eventArgs As System.EventArgs) Handles MyBase.Load
Dim lRetVal As Object
Dim cTagesDatei As String
Dim PfadVorlage As String
Dim nVKSumme As Double
sx_SetDeleted(True)
sx_SetCentury(True)
sx_SetDateFormat(GERMAN)
PfadVorlage = "c:\eWHTouch\datakass\touch"
File1.Path = PfadVorlage
File1.Refresh()
cTagesDatei = File1.Items(File1.Items.Count - 1)
cn.Open("Provider=SDEOLEDB;Data Source=c:\eWHTouch\datakass\touch;Mode=Read|Write;SDE OLEDB: RDE Type=FoxPro")
lRetVal = sx_SysProp(SDE_SP_PUTOBUFFER, 0)
rs.Open("File=" & cTagesDatei, cn, ADODB.CursorTypeEnum.adOpenStatic, ADODB.LockTypeEnum.adLockOptimistic, ADODB.CommandTypeEnum.adCmdTable)
TDBGrid1.DataSource = rs
sx_GoTop()
Do While Not sx_Eof()
nVKSumme = nVKSumme + sx_GetDouble("wert")
sx_Skip(1)
Loop
Label1.Text = CStr(nVKSumme)
Label3.Text = cTagesDatei
End Sub
End Class