你是否开始计划将微软的MSSQLSERVER数据库使用在你的ACUCOBOL-GT 嵌入式SQL(ESQL) 当中呢?假如是的话,ACUCOBOL-GT的AcuSQL产品能够连结MSSQL服务器并让你可以直接存取储存在MSSQL服务器数据库中的Table记录,而你也不需在系统中设定ODBC数据来源名(DSN)。
这篇文章将介绍有关AcuSQL连接MSSQL服务器有关的AcuSQL Runtime DLL(在5.2.1 版本介绍)及AcuSQL产品的部分。
为了使AcuSQL连接MSSQL服务器,你必须将下列设定变量含概在程序设定档案(Configuration file)中︰
ACUSQL _ RUNTIME _ DLL ASQLSRVR.DLL
这段叙述会强制AcuSQL runtime使用ASQLSRVR.DLL档案(为AcuSQL连接
MSSQL服务器的接口)取代预设的ESQLLIB.DLL档案。这个接口能提供额外的
SQL服务器的ESQL陈述。这种客户端和MSSQL服务器连接方式与其它的数据库
是不同的。 在5.2.1 版本之前,你需要客户端的ODBC DSN连接到SQL服务器数据
库。 不过现在当你使用AcuSQL时,连接MSSQL服务器的ESQL连结陈述有点不同,
因为对MSSQL服务器数据库的连接是直接经由网络到服务器。在这样的情况下,
需要加入下列ESQL连结叙述︰
CONNECT TO︰mssql _ server USER︰mssql _ user
USING︰mssql _ password
上述的mssql _server 是MSSQL服务器所注册的名称,而mssql _user及mssql _ password可参考现有的SQL服务器用户的用户名和密码。不过你也能透过使用下列述述存取其它的数据数据︰
database.user.tablename
Pre-Compiler预先编译器可支持MSSQL服务器特别的ESQL叙述。 为了使这些语法
检查的功能实现,在Pre-Compiler或编译器选项中加入"- Pk MSSQL",并请注意
当你使用这种AcuSQL预编译器的选择时,"ALTER CREATE"与 "GRANT"
叙述是不会被检查的。同时也请注意AcuSQL连接MSSQL服务器时并不支持下列
SQL服务器ESQL叙述︰
DESCRIBE ident INTO parameter
FETCH … USING DESCRIPTOR parameter
EXECUTE statement USING DESCRIPTOR parameter
OPEN cursor USING DESCRIPTOR parameter
CALL procname USING DESCRIPTOR parameter