unsigned int db_start_engine( SQLCA * sqlca, char * parms );
sqlca 指向 SQLCA 结构的指针。有关信息,请参见SQL 通信区域 (SQLCA)。
parms 以空值终止的字符串,其中包含以分号分隔的参数设置列表,每个参数设置的形式均为 KEYWORD=value。例如,
"UID=DBA;PWD=sql;DBF=c:\\db\\mydatabase.db" |
有关连接参数的列表,请参见连接参数。
如果数据库服务器尚未运行,则将其启动。
有关此函数执行步骤的说明,请参见查找数据库服务器。
如果数据库已运行或已成功启动,则返回值为 TRUE(非零)并且将 SQLCODE 设置为 0。错误消息在 SQLCA 中返回。
下面对 db_start_engine 的调用会启动数据库服务器并将其命名为 demo,虽然使用了 DBF 连接参数,但不会装载数据库:
db_start_engine( &sqlca, "DBF=samples-dir\\demo.db;START=dbeng11" ); |
如果希望启动服务器和数据库,请在 StartLine (START) 连接参数中包含数据库文件:
db_start_engine( &sqlca, "ENG=eng_name;START=dbeng11 samples-dir\\demo.db" ); |
此调用会启动服务器,将其命名为 eng_name,并启动该服务器上的 SQL Anywhere 示例数据库。
db_start_engine 函数在尝试启动某个服务器之前会先尝试连接到它,以免出现试图启动已在运行的服务器的情况。
ForceStart (FORCE) 连接参数仅由 db_start_engine 函数使用。当设置为 YES 时,在尝试启动服务器之前不尝试连接到服务器。这样,下面的一对命令就能够按预期方式工作:
启动名为 server_1 的数据库服务器:
start dbeng11 -n server_1 demo.db |
强制启动一台新服务器并连接到它:
db_start_engine( &sqlda, "START=dbeng11 -n server_2 mydb.db;ForceStart=YES" ) |
如果没有使用 ForceStart (FORCE),而且没有 ServerName (ENG) 参数,则第二个命令会尝试连接到 server_1。db_start_engine 函数不从 StartLine (START) 参数的 -n 选项获取服务器名。
Copyright © 2009, iAnywhere Solutions, Inc. - SQL Anywhere 11.0.1 |