执行用于设置验证选项的 SET TEMPORARY OPTION 语句的方式取决于您正使用的编程接口。此处所列签名为无效签名。所提供的示例使用以下接口设置验证选项:
当公司名称中有引号、撇号或其它特殊字符(例如 Joe's Garage)时,您需要注意如何构造验证语句。整个验证选项集 (Company=...;Application=...;Signature=...) 是一个 SQL 字符串。在 SQL 的字符串规则中规定,如果字符串内包括引号,则它必须是双引号才能被接受。例如:
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 ); |
必须在一行上输入该字符串,否则必须通过字符串连接来构建。
使用下面的 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...';" ); |
必须在一行上输入该字符串,否则必须通过字符串连接来构建。
使用下面的语句:
SACommand cmd=new SACommand( "SET TEMPORARY OPTION connection_authentication= 'Company=MyCo; Application=MyApp; Signature=0fa551599998e14d818e...';", con ); cmd.ExecuteNonQuery(); |
必须在一行上输入该字符串,否则必须通过字符串连接来构建。
Use the following statement: EXEC SQL SET TEMPORARY OPTION connection_authentication= 'Company=MyCo; Application=MyApp; Signature=0fa551599998e14d818e...'; |
必须在一行上输入该字符串,否则必须通过字符串连接来构建。
连接到经过验证的数据库时,应分别执行连接和验证步骤。但是某些对象(例如 Visual Basic Grid 对象)可尝试独立的隐式连接,该连接不会自动包括验证。在这种情况下,不会对该连接进行验证,而数据库操作会失败。可通过在连接字符串中包括 InitString 连接参数来避免此问题。下面的示例说明了如何修改 Visual Basic 应用程序以包括 InitString 连接参数,以便在每个连接建立后立即进行验证:
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 |