Upload
sjoerd-wick
View
112
Download
4
Embed Size (px)
Citation preview
Wizards & Wizards & Builders GmbH Builders GmbH
Client/Server-Client/Server-ProgrammierungProgrammierung
Erstellung von Client/Server-Erstellung von Client/Server-Datenbankapplikationen unterDatenbankapplikationen unter
Microsoft Visual FoxProMicrosoft Visual FoxPro
Wizards & Wizards & Builders GmbH Builders GmbH
Diese Schulung dient der Einführung in die Client/Server-Programmierung mit Microsoft
Visual FoxPro und Microsoft SQL Server
Wizards & Wizards & Builders GmbH Builders GmbH
ThemenübersichtThemenübersicht
Client/ServerClient/ServerConnections undConnections undRemote ViewsRemote ViewsSQL-Pass-ThroughSQL-Pass-ThroughMS SQL-ServerMS SQL-ServerUnterschiede zu Server-DBUnterschiede zu Server-DBOptimierung C/SOptimierung C/SThe Red ClassesThe Red Classes
Wizards & Wizards & Builders GmbH Builders GmbH
Client/ServerClient/Server
Konzepte der Konzepte der Client/Server-Client/Server-
Programmierung unterProgrammierung unterMicrosoft Visual FoxProMicrosoft Visual FoxPro
Wizards & Wizards & Builders GmbH Builders GmbH
Definition DatenbankDefinition Datenbank
Logische DatenunabhängigkeitLogische Datenunabhängigkeit Physikalische DatenunabhängigkeitPhysikalische Datenunabhängigkeit Prozedurale SchnittstellenProzedurale Schnittstellen Effiziente Abarbeitung von OperationenEffiziente Abarbeitung von Operationen minimale Datenredundanzminimale Datenredundanz DatenintegritätDatenintegrität konkurrierender Datenzugriffkonkurrierender Datenzugriff DatensicherheitDatensicherheit Datenschutz (Zugriffsschutz)Datenschutz (Zugriffsschutz)
Wizards & Wizards & Builders GmbH Builders GmbH
Definition Client/ServerDefinition Client/Server
Client/Server bedeutet:Client/Server bedeutet:
ein Zusammenspiel von ein Zusammenspiel von mehreren Computern, mit der mehreren Computern, mit der Verteilung der Aufgaben Verteilung der Aufgaben zwischen den Maschinenzwischen den Maschinen
Der Server übernimmt Speicher und CPU Der Server übernimmt Speicher und CPU intensive Aufgabenintensive Aufgaben
Der Client übernimmt Auswertungen und Der Client übernimmt Auswertungen und PräsentationPräsentation
Wizards & Wizards & Builders GmbH Builders GmbH
Vorteile/Gründe Vorteile/Gründe Client/ServerClient/Server
Geringere Hardwarekosten (statt Mainframe o.ä.)Geringere Hardwarekosten (statt Mainframe o.ä.)
Geringere Entwicklungskosten (dito)Geringere Entwicklungskosten (dito)
Integration mit PC SoftwareIntegration mit PC Software
Skalierbarkeit von Architekturen (statt Multiuser)Skalierbarkeit von Architekturen (statt Multiuser)
Datensicherheit (Mirroring, Backup) Datensicherheit (Mirroring, Backup)
Geringere Belastung des NetzesGeringere Belastung des Netzes
weil es der Chef/Kunde so will ... (Marketing)weil es der Chef/Kunde so will ... (Marketing)
Wizards & Wizards & Builders GmbH Builders GmbH
Bewertung der GründeBewertung der Gründe
Der Trend zu Client/Server Der Trend zu Client/Server kommt aus dem Bereich der kommt aus dem Bereich der Mainframes (Downsizing)Mainframes (Downsizing)
Gründe für Upsizing: Gründe für Upsizing: Sicherheit der Daten Sicherheit der Daten Anwendungen in WANs, Anwendungen in WANs, sehr große Datenmengen (Gigabytes)sehr große Datenmengen (Gigabytes) der Wunsch des Kundender Wunsch des Kunden
Wizards & Wizards & Builders GmbH Builders GmbH
ArchitekturenArchitekturen
PresentationPresentationPresentation
Presentation
ApplicationFunction
ApplicationFunction
ApplicationFunction
Data Management
Data Management
Data Management
Data Management
Data Management
ApplicationFunction
ApplicationFunction
ApplicationFunction
Presentation Presentation
Data Management
Network
DistributedPresentation
DistributedData Mgmt.
RemoteData Mgmt.
DistributedFunction
RemotePresentation
Wizards & Wizards & Builders GmbH Builders GmbH
Visual FoxPro und SQL-Visual FoxPro und SQL-ServerServer
Visual FoxPro arbeitet im Client/Server Visual FoxPro arbeitet im Client/Server Bereich besonders gut mit SQL Server Bereich besonders gut mit SQL Server zusammen (Upsizing Wizard) - was aber zusammen (Upsizing Wizard) - was aber nichts über die erreichbare Performance nichts über die erreichbare Performance aussagen soll ...aussagen soll ...
Grundsätzlich sind fast alle hier Grundsätzlich sind fast alle hier vorgestellten Möglichkeiten auch mit vorgestellten Möglichkeiten auch mit anderen ODBC Datenquellen gegeben (in anderen ODBC Datenquellen gegeben (in Abhängigkeit vom jeweiligen Treiber)Abhängigkeit vom jeweiligen Treiber)
Wizards & Wizards & Builders GmbH Builders GmbH
ODBC-ArchitekturODBC-Architektur
Application
ODBC driver
Driver managerODBC APIODBC API
ODBC SPIODBC SPI
Network Network interfaceNetwork interface
DatabaseDatabase
Wizards & Wizards & Builders GmbH Builders GmbH
Connections und Remote Connections und Remote ViewsViews
Interaktive und Interaktive und programmatische Definition programmatische Definition
von Connections/Remote von Connections/Remote ViewsViews
Wizards & Wizards & Builders GmbH Builders GmbH
ODBC-ManagerODBC-Manager
ODBC-Manager ODBC-Manager (Systemsteuerung(Systemsteuerung))
Installation der Installation der ODBC-VerbindungODBC-Verbindung
ggf. Network Libggf. Network Lib ggf. Trusted Conn.ggf. Trusted Conn. ggf. Database ggf. Database
NameName
Wizards & Wizards & Builders GmbH Builders GmbH
Interaktive DefinitionInteraktive Definition
Auswahl von DatasourceAuswahl von Datasourceoderoder
Definiton einer ConnectionDefiniton einer Connection Auswahl TabellenAuswahl Tabellen Definition von Remote ViewsDefinition von Remote Views Zusatzeinstellungen für Zusatzeinstellungen für
Remote Views (im Menü)Remote Views (im Menü) Wichtig: Vergabe von Parametern!Wichtig: Vergabe von Parametern!
Wizards & Wizards & Builders GmbH Builders GmbH
Auswahl DatasourceAuswahl Datasource
Anlegen / Öffnen Anlegen / Öffnen Datenbank-Datenbank-containercontainer
Auswahl Auswahl DatasourceDatasource
oderoder Definition einer Definition einer
ConnectionConnection
Wizards & Wizards & Builders GmbH Builders GmbH
Definition ConnectionDefinition Connection
User/Pwd/User/Pwd/DatabaseDatabase
Aysnchron (?)Aysnchron (?) Endanwender-Endanwender-
Warnungen (?)Warnungen (?) TransaktionenTransaktionen PaketgrößePaketgröße diverse Zeitendiverse Zeiten
Wizards & Wizards & Builders GmbH Builders GmbH
Auswahl TabellenAuswahl Tabellen
Übersicht über Übersicht über „Database“„Database“
Join auf dem Join auf dem Server (siehe Server (siehe ODBC-Join)ODBC-Join)
Wizards & Wizards & Builders GmbH Builders GmbH
Definition Remote View (1)Definition Remote View (1)
Komplett-Komplett-downloaddownload ohne Unterbrechungohne Unterbrechung
Parameter:Parameter: ??
AbfrageAbfrage VariableVariable PropertyProperty
WildcardsWildcards %% __
Wizards & Wizards & Builders GmbH Builders GmbH
Definition Remote View (2)Definition Remote View (2)
PrimärschlüsselPrimärschlüssel Änderbare FelderÄnderbare Felder „„Send SQL-Send SQL-
Update“Update“ SQL-Where:SQL-Where:
Key FieldsKey Fields Key & UpdatableKey & Updatable Key & ModifiedKey & Modified Key & Timestamp (!)Key & Timestamp (!)
Wizards & Wizards & Builders GmbH Builders GmbH
Zusatzparameter Remote Zusatzparameter Remote ViewView
Share ConnectionShare Connection No. of Records to Fetch at a timeNo. of Records to Fetch at a time Maximum No. of Records to fetchMaximum No. of Records to fetch Use Memo when character field length >Use Memo when character field length > No. of Records to Batch UpdateNo. of Records to Batch Update Fetch MemoFetch Memo Include Memo fields in Where-ClauseInclude Memo fields in Where-Clause Precompile on Backend ServerPrecompile on Backend Server
Wizards & Wizards & Builders GmbH Builders GmbH
Programmatisch AnlegenProgrammatisch Anlegen
CREATE CONNECTIONCREATE CONNECTION DATASOURCE sqlremote userid passwordDATASOURCE sqlremote userid password
CREATE SQL VIEW REMOTECREATE SQL VIEW REMOTE oder CONNECTION <nameofconnection>oder CONNECTION <nameofconnection>
USEUSE AGAINAGAIN (ggf. gleiche Parameter!)(ggf. gleiche Parameter!) NOREQUERY(gleiche Daten)NOREQUERY(gleiche Daten) NODATANODATA (keine Daten, nur Struktur)(keine Daten, nur Struktur)
Wizards & Wizards & Builders GmbH Builders GmbH
SQL-PassthroughSQL-Passthrough
Direktzugriff auf SQL-Server-Direktzugriff auf SQL-Server-Datenbanken statt Datenbanken statt
Verwendung von Remote Verwendung von Remote Views inViews in
Microsoft Visual FoxProMicrosoft Visual FoxPro
Wizards & Wizards & Builders GmbH Builders GmbH
Unterschiede zwischen Unterschiede zwischen Remote View / SQL-PassThroughRemote View / SQL-PassThrough
Remote View:Remote View: VFP SQL-SelectVFP SQL-Select ControlsourceControlsource Connection-Mgmt.Connection-Mgmt. Default-Update-Default-Update-
InfoInfo Metadaten in DBCMetadaten in DBC Progressive FetchProgressive Fetch
SQL-Passthrough:SQL-Passthrough: Native Server SQLNative Server SQL DDL-ZugriffDDL-Zugriff MultipleMultiple
Result-SetsResult-Sets TransactionsTransactions Non-UpdatableNon-Updatable
Cursorsetprop()Cursorsetprop()
Wizards & Wizards & Builders GmbH Builders GmbH
Zugriff mit SQL-PassthroughZugriff mit SQL-Passthrough
Test der Connection (ODBC-Test)Test der Connection (ODBC-Test)
*-- Verbindung herstellen*-- Verbindung herstellen
Handle=SQLConnect(‚data‘, ‘sa‘, ‘pwd‘)Handle=SQLConnect(‚data‘, ‘sa‘, ‘pwd‘)
*-- Ausführen Abfrage*-- Ausführen Abfrage
=SQLExec(Handle, „SQL“, ‚cursor‘)=SQLExec(Handle, „SQL“, ‚cursor‘)
*-- Arbeiten mit View (Update/Revert)*-- Arbeiten mit View (Update/Revert)
=SQLDisconnect( Handle )=SQLDisconnect( Handle )
Wizards & Wizards & Builders GmbH Builders GmbH
SQL-Connect / Metadata (1)SQL-Connect / Metadata (1)
SQLCONNECT( )SQLCONNECT( ) SQLSTRINGCONNECT( )SQLSTRINGCONNECT( ) SQLDISCONNECT( )SQLDISCONNECT( )
SQLTABLES( * )SQLTABLES( * ) SQLCOLUMNS( * )SQLCOLUMNS( * )
Wizards & Wizards & Builders GmbH Builders GmbH
SQL-Statements (2)SQL-Statements (2)
SQLEXEC( * )SQLEXEC( * ) SQLMORERESULTS( * )SQLMORERESULTS( * ) SQLCANCEL( = )SQLCANCEL( = ) AbbruchAbbruch SQLPREPARE( )SQLPREPARE( ) PrecompilingPrecompiling SQLCOMMIT( )SQLCOMMIT( ) Commit Trans.Commit Trans. SQLROLLBACK( )SQLROLLBACK( ) Cancel Trans.Cancel Trans.
Wizards & Wizards & Builders GmbH Builders GmbH
SQL-Statements (3)SQL-Statements (3)
SQLEXEC( Handle, SQLEXEC( Handle, StoredProcedure)StoredProcedure)
SQLEXEC( Handle, Create Proc)SQLEXEC( Handle, Create Proc) myproc as select *, select *, select * / SQLEXECmyproc as select *, select *, select * / SQLEXEC
SQLGETPROP( )SQLGETPROP( ) SQLSETPROP( )SQLSETPROP( ) AERROR( )AERROR( )
Wizards & Wizards & Builders GmbH Builders GmbH
ParameterParameter
Aufruf mit Parametern:Aufruf mit Parametern:=SQLExec( Handle, „where = ?cVar“)=SQLExec( Handle, „where = ?cVar“)
=SQLExec( Handle, „{CALL sp_test ()}“)=SQLExec( Handle, „{CALL sp_test ()}“) z.B. 2,4, ?@Result für Create Procedure sp_test z.B. 2,4, ?@Result für Create Procedure sp_test
@m1 int, @m2 int, @result int output as select @m1 int, @m2 int, @result int output as select @m1 * @m2@m1 * @m2
Float (N,F,B) wird zu N konvertiertFloat (N,F,B) wird zu N konvertiert Anzeigebreite 20Anzeigebreite 20 Date, Time wird zu DatetimeDate, Time wird zu Datetime
Wizards & Wizards & Builders GmbH Builders GmbH
Joins, Connection DefaultsJoins, Connection Defaults
Outer Join auf Server:Outer Join auf Server:a *= ba *= b
Outer Join auf ODBC:Outer Join auf ODBC:{oj expression}{oj expression}
from {oj a left outer join b on a.id = b.id}from {oj a left outer join b on a.id = b.id}
SQLSETPROP/SQLGETPROP( 0 )SQLSETPROP/SQLGETPROP( 0 )
Wizards & Wizards & Builders GmbH Builders GmbH
Connection PropertiesConnection Properties
ConnectString, DataSource, UserID, PwConnectString, DataSource, UserID, Pw DispLogin, DispWarning, ConnectBusyDispLogin, DispWarning, ConnectBusy Connect/Idle/QueryTimeout, WaitTimeConnect/Idle/QueryTimeout, WaitTime Aynchronous, BatchModeAynchronous, BatchMode Transactions, PacketSizeTransactions, PacketSize
ODBChdbc2, ODBChstmt2 (für FLLs!)ODBChdbc2, ODBChstmt2 (für FLLs!)
Wizards & Wizards & Builders GmbH Builders GmbH
TransaktionenTransaktionen
DB/SQLSETPROP( Transaction, n)DB/SQLSETPROP( Transaction, n)
AutomatischAutomatisch n = 1n = 1(Default)(Default) ManuellManuell n = 2n = 2
VFP-Transaktionen getrennt VFP-Transaktionen getrennt davon!davon!
SQL-Passthrough hat nur einen SQL-Passthrough hat nur einen Transaktions-Level!Transaktions-Level!
Wizards & Wizards & Builders GmbH Builders GmbH
Asynchrone Ausführung (1)Asynchrone Ausführung (1)
Default: Synchrone Ausführung (Wait)Default: Synchrone Ausführung (Wait) Möglich: Asynchrone Ausführung fürMöglich: Asynchrone Ausführung für
SQLEXEC, SQLMORERESULTSSQLEXEC, SQLMORERESULTS SQLTABLES, SQLCOLUMNSSQLTABLES, SQLCOLUMNS
Abbruch mit SQLCANCEL( )Abbruch mit SQLCANCEL( ) Non-Batch-Mode: Sqlmoreresults()Non-Batch-Mode: Sqlmoreresults() Mischung: Async/Sync-Batch/Non-BatchMischung: Async/Sync-Batch/Non-Batch
Wizards & Wizards & Builders GmbH Builders GmbH
Asynchrone Ausführung (2)Asynchrone Ausführung (2)
Wizards & Wizards & Builders GmbH Builders GmbH
MS SQL ServerMS SQL Server
Einführung in das Arbeiten Einführung in das Arbeiten mit Microsoft SQL-Servermit Microsoft SQL-Server
Wizards & Wizards & Builders GmbH Builders GmbH
VorgeschichteVorgeschichte
Dr. Eppstein und Mark HoffmannDr. Eppstein und Mark Hoffmann SYBASE ab 1987SYBASE ab 1987 Vertrieb durch MicrosoftVertrieb durch Microsoft Übernahme Quellcode als Übernahme Quellcode als
EigenproduktEigenprodukt Weiterentwicklung (Oberfläche, Weiterentwicklung (Oberfläche,
Integration, Kundenwünsche)Integration, Kundenwünsche)
Wizards & Wizards & Builders GmbH Builders GmbH
InstallationInstallation
Named Pipes als Protokoll (TCP/IP)Named Pipes als Protokoll (TCP/IP) Physikalischer PfadPhysikalischer Pfad Automatischer Start (nur bei Automatischer Start (nur bei
Server)Server) Zeichensatz und Sortierung Zeichensatz und Sortierung
(einheitlich für Datenbank)(einheitlich für Datenbank) Lokales Systemkonto (statt User)Lokales Systemkonto (statt User) Anlage MASTER.DAT (25 MB)Anlage MASTER.DAT (25 MB)
Wizards & Wizards & Builders GmbH Builders GmbH
SQL Enterprise ManagerSQL Enterprise Manager
Registrierung beim Erststart („SA“)Registrierung beim Erststart („SA“) SQL-Service ManagerSQL-Service Manager
SQL-Mail, SQL-ExecutiveSQL-Mail, SQL-Executive
Database DevicesDatabase Devices Backup DevicesBackup Devices DatabasesDatabases Logins (User, Rechte)Logins (User, Rechte)
Wizards & Wizards & Builders GmbH Builders GmbH
DevicesDevices
eigentlich „Drive“eigentlich „Drive“ „„Create Now“ oderCreate Now“ oder via Executivevia Executive MirroringMirroring Vergrößern Vergrößern
(Right / Rechte (Right / Rechte beachten)beachten)
Verkleinern NEINVerkleinern NEIN Backup DevicesBackup Devices
Platte, BandlaufwerkPlatte, Bandlaufwerk
Wizards & Wizards & Builders GmbH Builders GmbH
DatenbankenDatenbanken
in einem Devicein einem Device Größe änderbarGröße änderbar
max. 7 Terabyte max. 7 Terabyte GesamtgrößeGesamtgröße
Transaction LogTransaction Log anderes Deviceanderes Device ausreichende Größeausreichende Größe
„„Create for Load“Create for Load“ statt mit „0“ statt mit „0“
auffüllenauffüllen
Wizards & Wizards & Builders GmbH Builders GmbH
Tabellen / ZugriffsrechteTabellen / Zugriffsrechte
TabellenTabellen Ansichten (SQL)Ansichten (SQL) Stored ProcedureStored Procedure
Transact SQLTransact SQL extended proceduresextended procedures
Regeln Regeln (Feld-/Satz-(Feld-/Satz-Validierung)Validierung)
DefaultwerteDefaultwerte Datentypen (s.o.)Datentypen (s.o.)
Wizards & Wizards & Builders GmbH Builders GmbH
Pages / IndizesPages / Indizes
PagesizePagesize 2048 Byte je Page, 2016 für Datensätze2048 Byte je Page, 2016 für Datensätze Pagelocking (ggf. mehrere Sätze gesperrt!)Pagelocking (ggf. mehrere Sätze gesperrt!)
IndizesIndizes CLUSTEREDCLUSTERED vorsortiert, Lesen schnellvorsortiert, Lesen schnell NON-CLUSTEREDNON-CLUSTERED schneller beim Schreibenschneller beim Schreiben Transaction Log Transaction Log ohne „Order by“ wird erster Index verwendetohne „Order by“ wird erster Index verwendet
Wizards & Wizards & Builders GmbH Builders GmbH
Server-KonfigurationServer-Konfiguration
Fill FactorFill Factor Füllgröße IndexpagesFüllgröße Indexpages LE Treshold Max.LE Treshold Max. Pagelocks für Pagelocks für
DateisperreDateisperre LE Treshold PercentLE Treshold Percent Dito in ProzentDito in Prozent LocksLocks Anzahl Satzsperren (32 B)Anzahl Satzsperren (32 B) MemoryMemory Speicher (2 Kilobyte)Speicher (2 Kilobyte) Open DatabasesOpen Databases Offene DatenbankenOffene Datenbanken Open ObjectsOpen Objects Offene Objekte (70 Byte)Offene Objekte (70 Byte) User ConnectionsUser Connections Offene Offene
VerbindungenVerbindungen Speicherbedarf höher, bei Überschreitung Probleme!Speicherbedarf höher, bei Überschreitung Probleme!
Wizards & Wizards & Builders GmbH Builders GmbH
Unterschiede SQL-Server-Unterschiede SQL-Server-DBDB
Unterschiede von SQL-Server-Unterschiede von SQL-Server-Datenbanken zu Datenbanken Datenbanken zu Datenbanken
in Microsoft Visual FoxProin Microsoft Visual FoxPro
Wizards & Wizards & Builders GmbH Builders GmbH
Vorbereitung für UpsizingVorbereitung für Upsizing
Platz auf Harddisk großzügig!Platz auf Harddisk großzügig! ZugriffsrechteZugriffsrechte
Create Table/Default, Database/Select, AdminCreate Table/Default, Database/Select, Admin
Datenbankgröße (DBF*1.3, FPT*x)Datenbankgröße (DBF*1.3, FPT*x) Memofeld 32 Byte wird zu Page a 2048 ByteMemofeld 32 Byte wird zu Page a 2048 Byte
(z.B. 10.000 Memos = 320 KB -> 20 MB )(z.B. 10.000 Memos = 320 KB -> 20 MB ) Alter DatabaseAlter Database
Device-GrößeDevice-Größe Größe Transaction-Log > DatenerstbestandGröße Transaction-Log > Datenerstbestand
Wizards & Wizards & Builders GmbH Builders GmbH
Objekt-Mapping (1)Objekt-Mapping (1)
MS Visual MS Visual FoxPro:FoxPro:
DatenbankDatenbank TabelleTabelle FeldFeld IndexIndex DefaultDefault SatzvalidierungSatzvalidierung FeldvalidierungFeldvalidierung Persistente RelationPersistente Relation
MS SQL-Server:MS SQL-Server: DatenbankDatenbank TabelleTabelle FeldFeld IndexIndex DefaultDefault Stored Proc (Upd/Ins)Stored Proc (Upd/Ins) Stored Proc (Upd/Ins)Stored Proc (Upd/Ins) Upd/Ins/Del-Trigger Upd/Ins/Del-Trigger
oder Table oder Table ConstraintsConstraints
Wizards & Wizards & Builders GmbH Builders GmbH
Field-Mapping (2)Field-Mapping (2)
MS Visual MS Visual FoxPro:FoxPro:
CharacterCharacter CurrencyCurrency DateDate DatetimeDatetime DoubleDouble FloatFloat GeneralGeneral
MS SQL-Server:MS SQL-Server: CharChar MoneyMoney DatetimeDatetime DatetimeDatetime FloatFloat FloatFloat ImageImage
Wizards & Wizards & Builders GmbH Builders GmbH
Field-Mapping (3)Field-Mapping (3)
MS Visual MS Visual FoxPro:FoxPro:
IntegerInteger LogicalLogical MemoMemo Memo BinaryMemo Binary Character BinaryCharacter Binary NumericNumeric
MS SQL-Server:MS SQL-Server: IntInt BitBit TextText ImageImage BinaryBinary FloatFloat
Wizards & Wizards & Builders GmbH Builders GmbH
Index-Mapping (4)Index-Mapping (4)
MS Visual MS Visual FoxPro:FoxPro:
PrimaryPrimary CandidateCandidate RegularRegular UniqueUnique
MS SQL-Server:MS SQL-Server: Clustered UniqueClustered Unique UniqueUnique Non-UniqueNon-Unique Non-UniqueNon-Unique
Keine AusdrückeKeine Ausdrücke Kein Asc/DescKein Asc/Desc
Wizards & Wizards & Builders GmbH Builders GmbH
Expression Mapping (5 ff.)Expression Mapping (5 ff.)
MS Visual FoxPro:MS Visual FoxPro: cMonth() usw. cMonth() usw. Day(), Hour() usw.Day(), Hour() usw. Dtoc() usw. Dtoc() usw. Date() usw.Date() usw. .T. / .F..T. / .F.
keine Punkte bei keine Punkte bei AND/OR/NOT/NULLAND/OR/NOT/NULL
MS SQL-Server:MS SQL-Server: DATENAME()DATENAME() DATEPART()DATEPART() CONVERT()CONVERT() GETDATE()GETDATE() 0 / 10 / 1
Wizards & Wizards & Builders GmbH Builders GmbH
AufräumarbeitenAufräumarbeiten
Nachbesserung Konvertierung:Nachbesserung Konvertierung: Eindeutige Schlüssel nachtragen (Upd)Eindeutige Schlüssel nachtragen (Upd)
Konfiguration von:Konfiguration von: Datenbankzugriffsrechte (sp_adduser)Datenbankzugriffsrechte (sp_adduser) Objektzugriffsrechte Objektzugriffsrechte (GRANT/REVOKE)(GRANT/REVOKE)
Recovering (ggf. Database Dump)Recovering (ggf. Database Dump) Backup SchedulingBackup Scheduling Device MirroringDevice Mirroring
Wizards & Wizards & Builders GmbH Builders GmbH
ÜberprüfungenÜberprüfungen
Referentielle Integrität / Trigger (Neu!)Referentielle Integrität / Trigger (Neu!) Default-Werte (erst nach Insert!)Default-Werte (erst nach Insert!) Field/Table-Validations (Neu!)Field/Table-Validations (Neu!) Event Order ggf. andersEvent Order ggf. anders Lostfocus (Satz statt Feld)Lostfocus (Satz statt Feld) Optimistic Record Locking (Page Lock!)Optimistic Record Locking (Page Lock!)
Wizards & Wizards & Builders GmbH Builders GmbH
Optimierung Client/ServerOptimierung Client/Server
Zugriffsoptimierung von Zugriffsoptimierung von Client/Server unter Client/Server unter
Microsoft Visual FoxProMicrosoft Visual FoxPro
Wizards & Wizards & Builders GmbH Builders GmbH
ConnectionsConnections
In VorbereitungIn Vorbereitung
Wizards & Wizards & Builders GmbH Builders GmbH
Data RetrievalData Retrieval
In VorbereitungIn Vorbereitung
Wizards & Wizards & Builders GmbH Builders GmbH
Queries und ViewsQueries und Views
In VorbereitungIn Vorbereitung
Wizards & Wizards & Builders GmbH Builders GmbH
MaskenMasken
In VorbereitungIn Vorbereitung
Wizards & Wizards & Builders GmbH Builders GmbH
Einfügen und LöschenEinfügen und Löschen
In VorbereitungIn Vorbereitung
Wizards & Wizards & Builders GmbH Builders GmbH
Red ClassesRed Classes
Darstellung der Red Classes-Darstellung der Red Classes-Klassenbibliothek für C/S für Klassenbibliothek für C/S für
Microsoft Visual FoxProMicrosoft Visual FoxPro
Wizards & Wizards & Builders GmbH Builders GmbH
Red Classes für C/SRed Classes für C/S
Application ManagerApplication Manager Form ManagerForm Manager Toolbar ManagerToolbar Manager Report ManagerReport Manager Data ManagerData Manager
Remote ViewsRemote Views Parameterized ViewsParameterized Views SQL Pass ThroughSQL Pass Through ConnectionsConnections
Wizards & Wizards & Builders GmbH Builders GmbH
Was ist zu bedenken?Was ist zu bedenken?
Parallentwicklung Parallentwicklung lokal/remote ist lokal/remote ist leider aufwendigleider aufwendig
Ggf. immer C/S ?Ggf. immer C/S ?(zB SQL (zB SQL Anywhere)Anywhere)
Ggf. Nie C/S ?Ggf. Nie C/S ? Optimierungen...Optimierungen... Red Classes Red Classes
kaufenkaufen
Wizards & Wizards & Builders GmbH Builders GmbH
Vielen Dank!Vielen Dank!
Das waren die Themen:Das waren die Themen: Client/ServerClient/Server ConnectionsConnections Remote ViewsRemote Views SQL-Pass-ThroughSQL-Pass-Through MS SQL-ServerMS SQL-Server Unterschiede zu Unterschiede zu
ServerdatenbankenServerdatenbanken Optimierung C/SOptimierung C/S The Red ClassesThe Red Classes
Wizards & Wizards & Builders GmbH Builders GmbH
Wenn Fragen bestehen:Wenn Fragen bestehen:
Wizards & BuildersWizards & BuildersMethodische Software-Methodische Software-
Entwicklung GmbHEntwicklung GmbH
Frankfurter Str. 21bFrankfurter Str. 21b
61476 Kronberg61476 Kronberg
Tel.: 06173-950906Tel.: 06173-950906
Fax: 06173-950907Fax: 06173-950907
CIS: 101605,175CIS: 101605,175