最近北极熊正在忙着教训小弟,世界顷刻大乱;北极熊在IT软件圈比较出名的公司就是卡巴斯基这个反病毒软件,但其实北极熊也有很多不错的开源软件分享和其黑客能力也是数一数二的。而我们今天讲的Firebird(火鸟)其开发团队的核心就是来自北极熊;当然这个历史比Sqllite还早,这里就不科普了。只能说这是一个跨平台的关系数据库系统,免费容易部署吧。
为什么突然说起这个数据库呢?因为最近接触的一个动环监控系统(通信电源及机房环境监控系统)里面用的就是这个数据库,大概情况就是通过I-7188E做串口服务器将各传感器连接起来。本来想对I-7188E进行数据读取,但考虑到数据的读取和数据解释太费时间和测试麻烦,后来就想到另外一个办法,保留它原来的程序直接调用它的数据库进行展示为XML完结。
既然展示为XML,我们就离不开IIS服务,因为它的数据展示也是通过Silverlight进行展示,因此只要部署多一个网站就可以了。但问题来了这个Firebird(火鸟)不是微软的亲生儿子,所以默认的数据据连接是没有的,只能通过ODBC进行数据驱动连接,查了很多资料,终于找到它都32位和64位的ODBC驱动连接(见附件)。建议先执行【Firebird-2.5.5.26952_0_Win32】,再根据系统情况执行相关的驱动连接这样就少很多弯路了。
ODBC的驱动安装好后,就到代码了,就祭出我们多年没有用的ASP吧。为什么上ASP考虑点一、基本微软系统都支持,不用再安装什么升级包。二、容易修改反正开源的,一个记事本就ok了。。
数据链接(密码可以随便输入)
代码语言:javascript复制dim conn, conntol
conntol = "DRIVER=Firebird/InterBase(r) driver;UID=SYSDBA; PWD=tgjabcdef;DBNAME=D:TBDATA.FDB;"
set conn=server.createobject("adodb.connection")
conn.open conntol
联上数据库后就是数据的展示。
代码语言:javascript复制sql="select first 10 * from H_AC Order by DATETIME Desc"
set rs=server.CreateObject("adodb.recordset")
rs.open sql,conn,1,1
json_str="["
While Not rs.EOF
json_str= json_str&rs("ID") & ","&rs("DEVICE") & ","&rs("DATETIME") & rs(1)& ",<br>"
rs.MoveNext
Wend
json_str = json_str & "]"
response.Write json_str
这样就可以将数据读出。
这里有一点一定要注意,它才用的SQL跟我们管用的SQL有些小分别。
例如:
代码语言:javascript复制select first 10 skip 8 * from t_data //跳过前8行不要,取10行,即取第9行到18行共10行
select first 10 * from t_data //取前10行
select * from t_data rows 11 to 20 //取第11行到20行,共10行,行数从0开始
select * from t_data rows 11 //取前11行,和First 11是一样
至于其他还在探求中,但目前就这样可以进行一个数据展示了。。
-未完待续-