完全なサンプルは %SQLANYSAMP12%\UltraLite\esqlauth ディレクトリにあります。次のコードは %SQLANYSAMP12%\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 © 2012, iAnywhere Solutions, Inc. - SQL Anywhere 12.0.1 |