認証オプションを設定する 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...'; |
次の文を使用します。
SQLExecDirect( hstmt, "SET TEMPORARY OPTION connection_authentication= 'Company=MyCo; Application=MyApp; Signature=0fa55159999e14d818e...';", SQL_NTS ); |
文字列は、1 行に入力します。または、連結して構築します。
次の PowerScript 文を使用します。
EXECUTE IMMEDIATE "SET TEMPORARY OPTION connection_authentication= 'Company=MyCo; Application=MyApp; Signature=0fa551599998e14d818e...';" USING SQLCA |
次の文を使用します。
Statement Stmt1 = con.createStatement(); Stmt1.executeUpdate( "SET TEMPORARY OPTION connection_authentication= 'Company=MyCo; Application=MyApp; Signature=0fa55159999e14d818e...';" ); |
文字列は、1 行に入力します。または、連結して構築します。
次の文を使用します。
SACommand cmd=new SACommand( "SET TEMPORARY OPTION connection_authentication= 'Company=MyCo; Application=MyApp; Signature=0fa551599998e14d818e...';", con ); cmd.ExecuteNonQuery(); |
文字列は、1 行に入力します。または、連結して構築します。
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 |
Copyright © 2009, iAnywhere Solutions, Inc. - SQL Anywhere 11.0.1 |