Ein umfassendes Beispiel finden Sie im Verzeichnis %SQLANYSAMP16%\UltraLite\esqlauth. Der nachstehende Code stammt aus %SQLANYSAMP16%\UltraLite\esqlauth\sample.sqc.
//embedded SQL app() { ... /* Declare fields */ EXEC SQL BEGIN DECLARE SECTION; char uid[31]; char pwd[31]; EXEC SQL END DECLARE SECTION; db_init( &sqlca ); ... EXEC SQL CONNECT "DBA" IDENTIFIED BY "sql"; if( SQLCODE == SQLE_NOERROR ) { printf("Enter new user ID and password\n" ); scanf( "%s %s", uid, pwd ); ULGrantConnectTo( &sqlca, UL_TEXT( uid ), UL_TEXT( pwd ) ); if( SQLCODE == SQLE_NOERROR ) { // new user added: remove DBA ULRevokeConnectFrom( &sqlca, UL_TEXT("DBA") ); } EXEC SQL DISCONNECT; } // Prompt for password printf("Enter user ID and password\n" ); scanf( "%s %s", uid, pwd ); EXEC SQL CONNECT :uid IDENTIFIED BY :pwd; |
Der Code führt die folgenden Aufgaben aus:
Er initiiert die Datenbankfunktionalität durch Aufruf von db_init.
Er versucht, mit der Standardbenutzer-ID und dem Standardkennwort eine Verbindung herzustellen.
Er fügt einen neuen Benutzer hinzu, wenn der Verbindungsversuch erfolgreich ist.
Er löscht den Benutzer DBA aus der UltraLite-Datenbank, wenn der neue Benutzer erfolgreich hinzugefügt wurde.
Disconnect. Nun werden der Datenbank eine aktualisierte Benutzer-ID und ein aktualisiertes Kennwort hinzugefügt.
Mit der aktualisierten Benutzer-ID und dem aktualisierten Kennwort wird eine Verbindung hergestellt.
![]() |
Kommentieren Sie diese Seite in DocCommentXchange.
|
Copyright © 2013, SAP AG oder ein SAP-Konzernunternehmen. - SAP Sybase SQL Anywhere 16.0 |