FIX数据写入ACCESS数据库 点击:1511 | 回复:2



gongkongedit

    
  • 精华:1099帖
  • 求助:0帖
  • 帖子:14392帖 | 54470回
  • 年度积分:0
  • 历史总积分:622
  • 注册:2008年9月08日
发表于:2003-08-04 16:11:00
楼主
用ODBC将FIX数据写入ACCESS中 我的不骤为: 一、在c:\Access目录下建一ACCESS数据库(fix.mdb),包含三个表SQLLIB,SQLCMD,和自定义的数据表DATA 三个表的字段如下: 1)SQLLIB的字段如下: 1,sqlname:text(20) 2,sqlcmd: text(100) 2)SQLCMD的字段如下: 1,td: datatime 2, node: text(8) 3, tag: text(30) 4, sqlname: text(8) 5, fix_err: text(100) 6, sql_err: text(250) 7, prog_err:text(50) 3)DATA的字段如下: 1,tag: text(20) 2,des: text(20) 3,val: text(20) 在SQLCMD中输入一个记录: sqlname="INST1" sqlcmd="INSERT INTO DATA(TAG,DES,VAL) VALUES(?,?,?);" 数据库建好后,在控制面板的ODBC中定义[系统DSN]为TEST 二、在FIX的SCU中定义ODBC(我用的是fix32(老版本6.10)演示版) 1)在SCU的TASK添加WSQLODC.EXE (我用的是fix32(老版本6.10)演示版无该文件, 朋友给我一个6.15的,运行时一个错误提示(Error opening TOV file:sqlerr)但能运行) 2)在SCU的SQL的 SQL longin Information 中设置: 1.Database Type: Access 2.User Name: (没有添内容空白) 3.Password: (没有添内容空白) 4.Database Identifier: test 3)在SCU的SQL的 SQL Task configuration 中设置: 1.SQL Support: Enable 2.Backup Files Primary: c:\Access ,Secondary: c:\access 3.Relational Database中设置: 3.1 Database ID: test 3.2 SQL cmd table: SQLLIB 3.3 Error Log Table: SQLERR 4.Error msg to screen: checked 5.Debug msg to Screen: checked 当然要保存了 三、运行DBB.exe,在FIX的数据库里定义SQT1与SQD1 1.设置SQT1: 1.1 Tag Name: SQT1 Next Block:SQD1 1.2 Date Filters Start Date: ALL End Date:NONE 1.3 SAC Parameters: Initial Mode: Manual , Start Block On Scan:checked Scan Time:1 1.4 Time Events:(没有添内容空白) End Time:(没有添内容空白) Event Period:00:00:05 1.5 Block Events: Event Tag:(没有添内容空白) Confirm Tag:(没有添内容空白) 1.6 Event Type: Change of value SQL Trigger Block(page2)中配置如下: 1.7 SQL Name: INST1 1.8 Database ID: test 1.9 Command Type:SQL cmd 1.10 Select Parameters: Single row 2)设置SQD1 2.1 Tag Name: SQD1 Next Block: (没有添内容,空白) 2.1 Security Areas: NONE Alarm Areas: All 3.1 Tag.field Drirction Reset to: 1>AX.A_TAG OUT NONE 2>AX.A_DESC OUT NONE 3>AX.A_CV OUT NONE AX 是我随意定义的一个TAG 四、在Draw中设置 1。放一命令按钮[start],Edit command 如下: DECLARE #MY_NUM STRING #MY_NUM ="AUTO" SETVAL FIX:SQT1.A_AUTO #MY_NUM 我让它去触发SQT1 2。放一命令按钮[stop],Edit command 如下: DECLARE #MY_NUM STRING #MY_NUM ="MANL" SETVAL FIX:SQT1.A_AUTO #MY_NUM 我让它停止SQT1 问题是: 1。执行后fix数据库什么记录也没有,也没发现有错误(我不知道怎样调试) iFIX(3.0也是演示版)我也试了结果一样,请各位大师帮忙 2。向access数据库定时写数据,用命令按钮[start]合适吗?,有好办法吗? 五、我用dde的步骤如下: 1.用fix32(老版本)的dde做server(运行DMDDE.exe) 2.用vb做客户端,结点名为:fix vb的text控件设置为:linktopic="DWDDE|DATA",linkMode="1",linkItem="fix32.fix.AX.a_cv" 问题是: 为什么连接后出现"?E2302" 后变为"?E1914",请各位大师帮忙



gongkongedit

  • 精华:1099帖
  • 求助:0帖
  • 帖子:14392帖 | 54470回
  • 年度积分:0
  • 历史总积分:622
  • 注册:2008年9月08日
发表于:2003-08-04 16:11:00
1楼
我也遇到了同样的问题,继续关注!

qianyun_116

  • 精华:0帖
  • 求助:0帖
  • 帖子:0帖 | 1回
  • 年度积分:0
  • 历史总积分:11
  • 注册:2011年3月21日
发表于:2011-03-25 21:27:59
2楼

热门招聘
相关主题

官方公众号

智造工程师