在该向导的第三个屏幕上,可以指定默认数据库、驱动程序应如何使用存储过程来支持 SQLPrepare、驱动程序要使用的各个 ANSI 选项,以及是否要使用故障转移服务器。

“更改默认的数据库为”框

“更改默认的数据库为”框指定用于任何使用此数据源进行的连接的默认数据库名称。如果此框为空白,连接将使用在服务器上为登录 ID 定义的默认数据库。选中此框后,在此框中命名的数据库将覆盖为登录 ID 定义的默认数据库。如果“附加数据库文件名”框中包含主文件的名称,则主文件描述的数据库将附加为使用“更改默认的数据库为”框中指定的数据库名称的数据库。

与在 ODBC 数据源中指定默认数据库相比,使用登录 ID 的默认数据库更有效。

“附加数据库文件名”框

“附加数据库文件名”框指定可附加数据库的主文件名称。该数据库作为数据源的默认数据库附加和使用。指定主文件的完整路径和文件名。在“更改默认的数据库为”框中指定的数据库名称将用作附加数据库的名称。

“为预定义的 SQL 语句创建临时存储过程,并删除该存储过程”复选框

“为预定义的 SQL 语句创建临时存储过程,并删除该存储过程”复选框未选中时,Microsoft SQL Server 驱动程序将不创建存储过程来支持 SQLPrepare ODBC 函数。选中时,SQL Server 驱动程序将创建临时存储过程来支持 SQLPrepare ODBC 函数。

“只有当断开时”选项按钮

“只有当断开时”选项按钮指定,当调用 SQLDisconnect ODBC 函数时删除为 SQLPrepare 创建的临时存储过程。如果多次准备同一个 SQL 语句,驱动程序便可以重复使用存储过程,而且应用程序运行期间与删除这些存储过程关联的开销也会减少。为长时间运行而不断开连接的应用程序或为发出大量 SQLPrepare 调用的应用程序选择此选项,可导致临时存储过程变得过大。

“当断开时和连结时同样适用”选项按钮

“当断开时和连结时同样适用”选项按钮指定在以下情况下将删除为 SQLPrepare 创建的临时存储过程:调用 SQLDisconnect;对语句句柄调用 SQLFreeHandle;调用 SQLPrepareSQLExecDirect 以处理相同语句句柄上的新 SQL 语句;或者调用目录函数。当应用程序运行时,如果删除临时存储过程,会产生一些开销,但对于长时间运行的应用程序来说,这可以防止临时存储过程变得过大。

“使用 ANSI 引用的标识符”复选框

“使用 ANSI 引用的标识符”复选框指定将 QUOTED_IDENTIFIERS 设置为在 SQL Server ODBC 驱动程序进行连接时开启。选中此复选框后,SQL Server 将执行与引号有关的 ANSI 规则。双引号只能用作标识符,如列名和表名称。字符串必须用单引号引起来:

复制代码
SELECT "au_id"
FROM "authors"
WHERE "au_lname" = 'O''Brien'

清除此复选框后,使用引用标识符的应用程序(如 Microsoft Excel 附带的 Microsoft Query 实用工具)将在生成带有引用标识符的 SQL 语句时出错。

“使用 ANSI 的空值、填充及警告”复选框

“使用 ANSI 的空值、填充及警告”复选框指定将 ANSI_NULLS、ANSI_WARNINGS 和 ANSI_PADDINGS 选项设置为在 SQL Server 驱动程序进行连接时开启。

ANSI_NULLS 设置为开启后,服务器将执行与比较列是否为 NULL 有关的 ANSI 规则。对于所有 NULL 比较,均必须使用 ANSI 语法“IS NULL”或“IS NOT NULL”。不支持 Transact-SQL 语法“= NULL”。

ANSI_WARNINGS 设置为开启后,SQL Server 将对违反 ANSI 规则但并不违反 Transact-SQL 规则的情况发出警告消息。例如,此类错误包括执行 INSERT 或 UPDATE 语句时数据被截断,以及在执行聚合函数时遇到 null 值。

ANSI_PADDING 设置为开启后,将不自动删除 varchar 值的尾随空白和 varbinary 值的尾随零。

“若主 SQL Server 不可用,请使用故障转移 SQL Server”复选框

“若主 SQL Server 不可用,请使用故障转移 SQL Server”复选框指定,如果为数据源中指定的 SQL Server 定义了故障转移服务器,则当 SQL Server 驱动程序连接到指定的主服务器时,SQL Server 驱动程序将收集故障转移服务器的连接信息。应用程序如果丢失到主 SQL Server 的连接,则会清除其当前事务并尝试重新连接到主 SQL Server。驱动程序如果检测到主服务器不可用,则会自动连接到故障转移服务器。如果服务器不支持故障转移操作,则此选项将禁用。