集算器提供了 ODBC 接口,C# 可以通过集算器 ODBC 调用 SPL。结构图如下:
ODBC 服务
安装集算器 ODBC 驱动
使用集算器 ODBC,首先客户端需要安装 ODBC 驱动,在集算器安装路径下的 bin 目录中,用管理员权限执行 esprocOdbcinst.exe,即可安装集算器 ODBC 的驱动程序。
启动 ODBC 服务
在集算器的 [安装根目录]\esProc\bin 中,双击 esprocs.exe 文件(在 Linux 系统中,可以运行 ServerConsole.sh 来启动服务窗口),弹出如下服务窗口:
选择 Odbc Server ,点击【Config】按钮,可以打开集算器 ODBC 服务窗口如下:
ODBC 服务配置中主要配置 IP、ODBC 服务的端口、允许访问的用户名和密码。配置完成后,点击【OK】,保存配置。然后点击【start】启动服务。
添加 ODBC 数据源
驱动程序安装成功后,可以添加对应的 ODBC 数据源,选择 EsprocOdbc ODBC Driver
在弹出的配置窗口中,配置集算器 ODBC 的连接参数,数据源名称用户可自定义,IP、端口、用户名密码等参数要与服务器中的配置一致,如:
点击 Connect Test 可以测试连接,如果配置正确,会显示测试连接成功:
C# 调用
执行 SPL 语句
比如创建一个数据表,并添加两个字段 baseNum、square2,分别将 100 以内的自然数及其的平方值组成 100 条记录插入到数据表中,最后将表中的数据作为结果集返回。
C# 代码如下:
using System; using System.Collections.Generic; using System.Linq; using System.Threading.Tasks; using System.ComponentModel; using System.Text; using System.Data.Odbc; namespace ODBCtest { classDB { publicvoid rset(OdbcConnectionconn, string selectSql) { OdbcCommandcmd = newOdbcCommand(selectSql, conn); OdbcDataReader reader = cmd.ExecuteReader(); int nCount = 0; //循环输出列名 for (int i=0; i< reader.FieldCount;i++) { Console.Write( reader.GetName(i) + "\\t"); } Console.Write("\\n"); while (reader.Read()) { Console.Write(reader.GetInt32(0) + "\t"); Console.WriteLine(reader.GetInt32(1) &#