![]() |
Datenbank: ADO • Zugriff über: ADO
ADO MS SQL
Hallo,
also ich steh gerade vor einem kleinem Problem und zwar möchte ich an etwa 3 verchiedenen PCs einige Daten erfassen und sozusagen "offline" in einer Art Datenbank abspeichern. Nun sollen diese Daten in eine größere Datenbank auf einen Server immer mal irgendwann übernommen werden. Das Problem ist, dass nicht zu viel an zusätzlicher Software zum Einsatz kommen sollte und die auch möglichst keine lizenzrechtlichen Probleme oder Kosten verursacht. Also es soll mit dem wohl kostenfreien MS SQL Server in der MSDE gearbeitet werden. Nun frag ich mich, ob es sinnvoll oder möglich ist, den SQL Server nur auf dem einen Rechner mit der großen DB laufen zu haben und dann die Einzelplatzrechner immer nur damit zu verbinden wenn nötig und ansonsten das in einer Datei zu speichern oder so. Ich hab von ADO gehört, aber gibt es da ein kleines Beispiel oder so, da ich mich damit gar nicht so recht auskenne. Also ich danke schonmal Tim |
Re: ADO MS SQL
Man könnte auf jedem Rechner die MSDE oder Swl2005 express installieren und dann eine als Master deklarieren oder man verwendet Access.
|
Re: ADO MS SQL
Danke für die schnelle Antwort
Die MSDE ist also auf jeden Rechner Voraussetzung? Access Lizenz gibt es nur auf einen der 3 Rechner. Wie läuft das mit der Master deklaration? Wie greift man dann auf die DB zu? Wie legt man bei der MSDE eine neue Datenbank an und wie kann man die dann verwalten? LG Tim |
Re: ADO MS SQL
Zitat:
Ich schlage vor, zieh dir erst einmal ein Datenbanktutorial rein. Und sei dir eins bewusst: es ist nicht so ohne weiteres möglich, aus 3 kleinen Datenbanken eine grosse zu basteln. Da musst du z.B. auf so Sachen achten, dass der Primary Key der 3 Datenbanken sich nie überschneidet. Was, wenn gleiche Daten geändert werden, aber in 2 unterschiedlichen Datenbanken. Zur Datenbank selbst. Lass SQL 2000 liegen und nimm gleich den SQL 2005 (Express). Zu ADO: Lies mal die Online Hilfe, zu Themen wie TADOConnection, TADOQuery (bzw. TDataset allgemein). |
Re: ADO MS SQL
Sorry, danke für die Hilfe!
Ich krieg nur gerad ne Krise, weil ich mich mit der BDE recht gut auskenne und das auch super mit Interbase funktioniert hat, aber mit der MSDE und dem SQL Server komme ich nich so recht klar... Hab auch 2 Bücher hier rumliegen, aber da steht MSSQL nur 2000 drin und sehr sehr knapp. Ich hoffe die Kommunikation zwischen Win2000 und XP läuft dann reibungsfrei. Mich würde erstmal interessieren wie gesagt, einfach mal eine kleine Testdatenbank im SQL Server anzulegen auf die ich zugreifen kann. Der Rest kommt dann hoffentlich auch mit der großen DB. Wie krieg ich in meinen SQL Server erstmal eine DB rein? LG Tim |
Re: ADO MS SQL
OK, jetzt kommen wir dem Ganzen schon etwas näher.
Beim SQL 2005 Express, übrigens genausowenig bei der MSDE, ist ein Verwaltungstool mit an Bord. Du kannst aber z.B. das ![]() Die Verbindung über ADO läuft von Delphi heraus über die TADOConnection Komponente. Die Verbindung selbst definierst Du dort über den Connectionstring. Entweder eingeben in der entsprechenden Property, oder Doppelklick auf die Komponente und dem Assistenten folgen. Dein Abfrage laufen dann nicht, wie bei der BDE, über TQuery und TTable, sondern ziemlich analog über TADOQuery und TADOTable. (Letztere würd ich aber nicht verwenden). TADOQuery hat wiederrum eine Eigenschaft Connection. Diese linkst du auf deine TADOConnection und du kannst loslegen. |
Re: ADO MS SQL
Super danke dir für die Hilfe, jetzt wird das doch eher was....
So ganz ist mir nun nur nicht klar, was dieser Connectionstring bedeutet bzw. was da angegeben wird... hab da was von dsn datein gelesen, aber da sind bei mir keine vorhanden? |
Re: ADO MS SQL
Der ConnectionString definiert einfach nur deine Datenbankverbindung. Da steht nix weiter drin wie DatenProvider, Servername, Datenbankname, Login, Passwort und so Sachen. Lass ihn dir über den Assistenten erstellen, und gut ist.
|
Re: ADO MS SQL
also ich hab neben der systemdatenbank eine sampleDB erstellt (geht das auch mit delphi ohne den SQL Server Manager?) und mit diesem Code wollt ich darauf zugreifen
Delphi-Quellcode:
geht aber nicht, denn: "[DBNETLIB]ConnectionOpen... SQL does not exist or access denied"
ADOConnection1.Connected := False ;
ADOConnection1.LoginPrompt := False ; ADOConnection1.ConnectionString:= 'Provider=SQLOLEDB.1;Password=pass;'+ 'Persist Security Info=True;User ID=sa;Initial Catalog=sampleDB;Data Source=PCNAME\SQLEXPRESS'; ADOConnection1.DefaultDatabase := 'sampleDB' ; ADOConnection1.Provider := 'SQLOLEDB.1' ; ADOConnection1.Connected := True was stimmt denn da nicht was stellen ich bei den ConnectString bei provider ein MS OLE DB Provider for ODBC Drivers und dann data source name sicher nicht, aber connection sting und dann buld, da gibts bei mir keine eintraege? [edit=Jelly]Delphi Tags korrigiert... Mfg, Jelly[/edit] |
Re: ADO MS SQL
Zitat:
Es reicht, lediglich den Connectionstring anzugeben:
Delphi-Quellcode:
ADOConnection1.Connected := False ; ADOConnection1.LoginPrompt := False ; ADOConnection1.ConnectionString:= 'Provider=SQLOLEDB.1;Password=pass;'+ 'Persist Security Info=True;User ID=sa;Initial Catalog=sampleDB;Data Source=PCNAME\SQLEXPRESS'; ADOConnection1.Connected := True |
Alle Zeitangaben in WEZ +1. Es ist jetzt 01:21 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz