Click here to view and discuss this page in DocCommentXchange. In the future, you will be sent there automatically.

SQL Anywhere 11.0.1 (日本語) » SQL Anywhere サーバ - データベース管理 » データベースの起動とデータベースへの接続 » データベース・サーバの実行 » SQL Anywhere の認証アプリケーションの実行 » 認証アプリケーションの開発

 

認証文の実行

認証オプションを設定する SET TEMPORARY OPTION 文を実行する方法は、使用するプログラミング・インタフェースによって異なります。ここに示すシグニチャは、有効なシグニチャではありません。次のインタフェースを使用して認証オプションを設定することを前提に、例を示します。

認証オプションにおける特殊文字の使用

会社名に引用符やアポストロフィなどの特殊文字が含まれている場合 (たとえば、Joe's Garage など)、認証文の構成には注意が必要です。認証オプション・セット全体 (Company=...;Application=...;Signature=...) で SQL 文字列になります。SQL における文字列の規則では、文字列の中に引用符を含める場合は、その文字を 2 つ続けて記述することになっています。次に例を示します。

SET TEMPORARY OPTION connection_authentication=
   'Company = Joe''s Garage;
    Application = Joe''s Program;
    Signature = 0fa55157edb8e14d818e...';
ODBC

次の文を使用します。

SQLExecDirect(
    hstmt,
    "SET TEMPORARY OPTION connection_authentication=
       'Company=MyCo;
        Application=MyApp;
        Signature=0fa55159999e14d818e...';",
    SQL_NTS
);

文字列は、1 行に入力します。または、連結して構築します。

PowerBuilder

次の PowerScript 文を使用します。

EXECUTE IMMEDIATE
   "SET TEMPORARY OPTION connection_authentication=
       'Company=MyCo;
        Application=MyApp;
        Signature=0fa551599998e14d818e...';"
USING SQLCA
JDBC

次の文を使用します。

Statement Stmt1 = con.createStatement();
Stmt1.executeUpdate(
    "SET TEMPORARY OPTION connection_authentication=
    'Company=MyCo;
     Application=MyApp;
     Signature=0fa55159999e14d818e...';"
);

文字列は、1 行に入力します。または、連結して構築します。

ADO.NET

次の文を使用します。

SACommand cmd=new SACommand(
   "SET TEMPORARY OPTION connection_authentication=
       'Company=MyCo;
        Application=MyApp;
        Signature=0fa551599998e14d818e...';", 
    con
);
cmd.ExecuteNonQuery();

文字列は、1 行に入力します。または、連結して構築します。

Embedded SQL
Use the following statement:
EXEC SQL SET TEMPORARY OPTION connection_authentication=
   'Company=MyCo;
    Application=MyApp;
    Signature=0fa551599998e14d818e...';

文字列は、1 行に入力します。または、連結して構築します。

認証データベースに接続するとき、接続と認証の手順は別々に行います。ただし、Visual Basic Grid オブジェクトなどの一部のオブジェクトは、独立した暗黙的な接続の試行が可能であり、自動的に認証が行われません。このような場合は、接続は認証されず、データベース操作は失敗します。この問題を回避するには、接続文字列に InitString 接続パラメータを指定します。次の例は、すべての接続で接続確立直後に認証が行われるように、InitString 接続パラメータを含めるように Visual Basic アプリケーションを修正する例を示したものです。

mConnectionString = 
   "Provider=SAPROV.11;
    UID=DBA;
    PWD=sql;
    ENG=test11;
    InitString=SET TEMPORARY OPTION connection_authentication=
       'Company=MyCo;
        Application=MyApp;
        Signature=0fa55157edb8e14d818e...'"
mdbName.ConnectionString = mConnectionString
mdbName.Open
mIsSQL = True