完全なサンプルは %SQLANYSAMP16%\UltraLite\esqlauth ディレクトリにあります。次のコードは %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; |
このコードでは、次のタスクを実行します。
db_init を呼び出してデータベースの機能を開始する。
デフォルトのユーザ ID とパスワードを使用して接続する。
接続に成功したら、新しいユーザを追加する。
新しいユーザが追加されたら、Ultra Light データベースから DBA を削除する。
切断する。更新されたユーザ ID とパスワードがデータベースに追加される。
更新されたユーザ ID とパスワードを使用して接続する。
![]() |
DocCommentXchange で意見交換できます
|
Copyright © 2013, SAP AG or an SAP affiliate company. - SAP Sybase SQL Anywhere 16.0 |