创建、删除、说明和列出 SQL Anywhere ODBC 数据源。
dbdsn [ modifier-options ] { -l[ s | u ] | -d[ s | u ] dsn | -g[ s | u ] dsn | -w[ s | u ] dsn [details-options;...] | -cl }
主选项 | 说明 |
---|---|
@data |
读取来自指定的环境变量或配置文件的选项。请参见使用配置文件。 如果要保护口令或配置文件中的其它信息,可以使用文件隐藏实用程序对配置文件的内容进行模糊处理。请参见文件隐藏实用程序 (dbfhide)。 |
-l[ s | u ] | 列出可用的 SQL Anywhere ODBC 数据源。您可以使用 -b 或 -v 选项修改列表格式。在 Windows 中,可以使用 u(用户)或 s(系统)指定符来修改该选项。缺省指定符是 u。 |
-d[ s | u ] dsn | 删除指定的 SQL Anywhere 数据源。如果提供 -y,则删除任何现有数据源而无需确认。在 Windows 中,可以使用 u(用户)或 s(系统)指定符来修改该选项。缺省指定符是 u。 |
-g[ s | u ] dsn | 列出指定 SQL Anywhere 数据源的定义。您可以使用 -b 或 -v 选项修改输出的格式。在 Windows 中,可以使用 u(用户)或 s(系统)指定符来修改该选项。缺省指定符是 u。 |
-w[ s | u ] dsn [ details-options ] | 创建新数据源;如果存在同名的数据源,则覆盖它。如果提供 -y,则覆盖任何现有数据源而无需确认。在 Windows 中,可以使用 u(用户)或 s(系统)指定符来修改该选项。缺省指定符是 u。 |
-cl |
列出 dbdsn 实用程序支持的连接参数。请参见连接参数。 有关支持的 ODBC 连接参数的信息,请参见ODBC 连接参数。 |
修饰符选项 | 说明 | ||
---|---|---|---|
-b | 将列表的输出格式设置为单行连接字符串。 | ||
-cm |
显示用来创建数据源的命令。此选项可用于将创建命令输出到一个文件中。可使用该创建命令将数据源添加到其它计算机,或者如果数据源有更改,也可用该命令将数据源恢复到其原始状态。您必须使用 -cm 指定 -g 选项或 -l 选项,否则命令将失败。指定 -g 会显示指定数据源的创建命令,而指定 -l 则会显示所有数据源的创建命令。 如果指定的数据源不存在,则会生成删除数据源的命令。例如,如果计算机上不存在 mydsn 数据源,则
|
||
-dr |
显示数据源时包括 Driver 参数。在使用 -cm 选项重新创建数据源时,它允许当前版本的 dbdsn 创建那些引用另一个版本的 ODBC 驱动程序的数据源。 例如,假设您使用以下命令来创建版本 9 的数据源:
执行 但如果执行 |
||
-f | 显示所使用的系统文件的名称。此选项只能在 Unix 中使用。 | ||
-ns |
指定用于确定系统信息文件(缺省情况下名为 .odbc.ini)位置的环境变量设置。如果在环境中存在多个候选系统信息文件,则此选项对于确定 dbdsn 正在使用哪个文件非常有用。此选项只能在 Unix 中使用。 如果在创建数据源时不指定 -ns,dbdsn 也会在用户主目录和路径中检查系统信息文件。 有关如何查找系统信息文件的详细信息,请参见在 Unix 上使用 ODBC 数据源。 |
||
-o filename | 将输出消息写入指定的文件中。 | ||
-or |
用 -c 选项指定时,可创建 iAnywhere Solutions Oracle 驱动程序的数据源。例如:
您可以指定 -cl 选项和 -or 选项,以获得 iAnywhere Solutions Oracle 驱动程序的连接参数列表。 有关详细信息,请参见iAnywhere Solutions Oracle 驱动程序。 |
||
-pe | 指定此选项且 DSN 中包括 PWD 条目时,将 PWD 条目中的密码加密,并将 PWD 条目替换为包含已加密密码的 ENP 条目。 | ||
-q | 取消向数据库服务器消息窗口的输出。如果您在删除或修改数据源时指定 -q,则还必须指定 -y。 | ||
-v | 将列表的输出格式设置为数行(即表格形式)。 | ||
-y | 删除或覆盖每个数据源,而不提示您进行确认。如果您在删除或修改数据源时指定 -q,则还必须指定 -y。 |
细节选项 | 说明 |
---|---|
-c "keyword=value;..." | 将连接参数指定为连接字符串。请参见连接参数。 |
-cw | 确保 DBF 参数(使用 -c 指定)是一个绝对文件名。如果 DBF 的值不是绝对文件名,dbdsn 会在其前面添加当前工作目录 (CWD)。此选项十分有用,因为有些操作系统不会在批处理文件中自动提供 CWD 信息。 |
修饰符选项可以出现在主选项设定之前或之后。
数据源实用程序是 ODBC 管理器的跨平台替代工具,用于创建、删除、说明和列出 SQL Anywhere ODBC 数据源。此实用程序对于批处理操作是很有用的。
在数据源中存储用户 ID、口令(加密或未加密)和/或数据库密钥是不安全的。如果数据库包含敏感数据,建议您不要将此信息存储在数据源中。
在 Windows 操作系统中,数据源保存在注册表中。
有关使用 ODBC 管理器在 Windows 上创建数据源的信息,请参见创建 ODBC 数据源。
在 Unix 操作系统中,数据源保存在系统信息文件中(缺省名为 .odbc.ini)。在 Unix 中使用数据源实用程序来创建或删除 SQL Anywhere ODBC 数据源时,该实用程序会自动更新系统信息文件的 [ODBC Data Sources]
段。如果在 Unix 中没有使用 -c 选项指定 Driver 连接参数,数据源实用程序会根据 SQLANY11 环境变量的设置自动添加一个带有 SQL Anywhere ODBC 驱动程序完整路径的 Driver 项。
有关系统信息文件的详细信息,请参见在 Unix 上使用 ODBC 数据源。
在 Unix 中不应使用文件隐藏实用程序 (dbfhide) 对系统信息文件 (.odbc.ini) 进行模糊处理,除非您将仅使用 SQL Anywhere 数据源。如果计划使用其它数据源(例如,为了 MobiLink 同步),则系统信息文件的模糊处理可能会妨碍其它驱动程序正常工作。
退出代码是零(成功)或非零(失败)。请参见软件组件的退出代码。
数据源实用程序 (dbdsn) 支持下列 ODBC 连接参数。布尔型(true 或 false)参数为 true 时值为 YES 或 1,为 false 时值为 NO 或 0。
名称 | 说明 |
---|---|
Delphi | Delphi 不能处理一行的多个书签值。当您将此值设置为 NO 时,会为每行指派一个书签,而不是像其它情况下那样为每行指派两个书签。将此选项设置为 YES 可提高可滚动游标的性能。 |
DescribeCursor |
此参数用于指定在某过程执行期间重新描述游标的频率。缺省设置为 [根据需要]。
|
Description | 此参数允许您提供 ODBC 数据源的说明。 |
Driver |
此参数用于为连接指定一个 ODBC 驱动程序,方法如下: 在 Unix 中,此参数指定共享对象的完全限定路径。如果在 Unix 中没有指定 Driver 连接参数,数据源实用程序会根据 SQLANY11 环境变量的设置自动添加一个带有 SQL Anywhere ODBC 驱动程序完整路径的 Driver 项。 |
GetTypeInfoChar | 当此选项被设置为 YES 时,会返回 CHAR 列作为 SQL_CHAR(而不是 SQL_VARCHAR)。缺省情况下,会返回 CHAR 列作为 SQL_VARCHAR。 |
InitString | InitString 允许您指定在建立连接后立即执行的命令。例如,您可能希望设置一个数据库选项或执行一个存储过程。 |
IsolationLevel |
您可以指定下列值之一来设置数据源的初始隔离级别:
有关详细信息,请参见选择隔离级别。 |
KeysInSQLStatistics | 如果希望 SQLStatistics 函数返回外键,则指定 YES。ODBC 说明指出 SQLStatistics 不应当返回主键和外键;但是,某些 Microsoft 应用程序(例如 Visual Basic 和 Access)假定主键和外键是由 SQLStatistics 返回的。 |
LazyAutocommit | 将此参数设置为 YES 会延迟提交操作直到语句关闭。 |
PrefetchOnOpen | 当 PrefetchOnOpen 被设置为 YES 时,预取请求随游标打开请求一起发送。预取可使在每次打开游标时,发送读取行的网络请求变得没有必要。列必须已被绑定,以便在打开时进行预取。该连接参数可以帮助减少客户/服务器请求数,从而帮助改善 LAN 或 WAN 上的性能。 |
PreventNotCapable | SQL Anywhere ODBC 驱动程序会返回 [驱动程序不支持] 错误,因为它不支持限定符。某些 ODBC 应用程序不能正确处理该错误。将此参数设置为 YES 可以防止返回此错误代码,从而使这些应用程序能够正常工作。
|
SuppressWarnings | 如果不想显示读取过程中从数据库服务器返回的警告消息,则将此参数设置为 YES。数据库服务器 8.0.0 及更高版本所返回的读取警告比早期版本范围更广。对于用该软件较早版本部署的应用程序,您可以选择此选项以确保正确处理读取警告。 |
TranslationDLL | 提供此选项是为了实现向后兼容。不建议使用转换器。 |
TranslationName | 提供此选项是为了实现向后兼容。不建议使用转换器。 |
TranslationOption | 提供此选项是为了实现向后兼容。不建议使用转换器。 |
写入数据源 newdsn 的定义。如果数据源已存在,不提示进行确认。
dbdsn -y -w newdsn -c "UID=DBA;PWD=sql;LINKS=TCPIP;ENG=myserver" |
或者,使用不同的选项顺序,
dbdsn -w newdsn -c "UID=DBA;PWD=sql;LINKS=TCPIP;ENG=myserver" -y |
列出所有已知用户数据源,每行对应一个数据源名称:
dbdsn -l |
列出所有已知系统数据源,每行对应一个数据源名称:
dbdsn -ls |
列出所有数据源及其相关连接字符串:
dbdsn -l -b |
报告用户数据源 MyDSN 的连接字符串:
dbdsn -g MyDSN |
报告系统数据源 MyDSN 的连接字符串:
dbdsn -gs MyDSN |
删除数据源 BadDSN,但首先列出 BadDSN 的连接参数,并提示进行确认:
dbdsn -d BadDSN -v |
删除数据源 BadDSN,但不提示进行确认。
dbdsn -d BadDSN -y |
为数据库服务器 MyServer 创建名为 NewDSN 的数据源:
dbdsn -w NewDSN -c "UID=DBA;PWD=sql;ENG=MyServer" |
如果 NewDSN 已经存在,会提示就是否覆盖该数据源进行确认。
列出所有连接参数名及其别名:
dbdsn -cl |
列出所有用户数据源:
dbdsn -l -o dsninfo.txt |
列出所有连接参数名:
dbdsn -cl -o dsninfo.txt |
指定一个绝对文件名。创建 DSN 时,它将包含 DBF=c:\SQLAnywhere11\my.db。
c:\SQLAnywhere11> dbdsn -w testdsn -cw -c UID=DBA;PWD=sql;ENG=SQLAny;DBF=my.db |
生成创建 SQL Anywhere 11 Demo 数据源的命令并将其输出到名为 restoredsn.bat 的文件中:
dbdsn -cm -gs "SQL Anywhere 11 Demo" > restoredsn.bat |
restoredsn.bat 文件包含以下内容:
dbdsn -y -ws "SQL Anywhere 11 Demo" -c "UID=DBA;PWD=sql; DBF='C:\Documents and Settings\All Users\Documents\SQL Anywhere 11\Samples\demo.db'; ENG=demo11;START='C:\Program Files\SQL Anywhere 11\bin32\dbeng11.exe'; ASTOP=yes;Description='SQL Anywhere 11 Sample Database'" |
返回 Unix 中系统信息文件的位置:
dbdsn -f |
此命令会返回以下输出:
dbdsn using /home/user/.odbc.ini |
更改系统信息文件的位置:
export ODBCINI=./myodbc.ini |
使用 dbdsn -f
验证系统信息文件的新位置:
dbdsn using ./myodbc.ini |
创建数据源时使用 -ns 选项:
dbdsn -w NewDSN -c "UID=DBA" -ns |
这将产生以下输出:
Configuration "newdsn" written to file ./myodbc.ini |
Copyright © 2009, iAnywhere Solutions, Inc. - SQL Anywhere 11.0.1 |