欢迎使用金字塔普通技术服务论坛,您可以在相关区域发表技术支持贴。
我司技术服务人员将优先处理 VIP客服论坛 服务贴,普通区问题处理速度慢,请耐心等待。谢谢您对我们的支持与理解。


金字塔客服中心 - 专业程序化交易软件提供商金字塔软件金字塔软件问题提交 → 连接sql server的代码导致整个公式都不执行

   

欢迎使用金字塔普通技术服务论坛,您可以在相关区域发表技术支持贴。
我司技术服务人员将优先处理 VIP客服论坛 服务贴,普通区问题处理速度慢,请耐心等待。谢谢您对我们的支持与理解。    


  共有3382人关注过本帖树形打印复制链接

主题:连接sql server的代码导致整个公式都不执行

帅哥哟,离线,有人找我吗?
popypopy
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:新手上路 帖子:82 积分:0 威望:0 精华:0 注册:2020/9/21 10:56:16
连接sql server的代码导致整个公式都不执行  发帖心情 Post By:2020/9/29 0:15:13 [只看该作者]

我在公式里想添加连接sql server数据库做数据存储和查询,但是一加入数据库的语句,整个公式就不执行和显示任何结果了。我尝试了ODBC、DSN less这两种连接方式,都不行。我已经验证确认数据库是可以通过其他方式比如web程序连接和查询的,也就是说服务器的地址、数据库名、用户名和密码等设置都是正确的

以下是连接数据库的两种代码:
DATABASE('provider=MSDAORA;Data Source=9BC2\SQLEXPRESS;User ID=sa;Password=xxxxx;');
DBTABLE('Select top 1 * From tupe Order By ID');
cc:=DBVALUE('stkname');  
DBREADTYPE(1);
上述代码中我把provider改成Sqloledb也不行。

ODBC的连接代码:
DATABASE('Data Source=stk;UID=sa;PWD=1qaz@WSX;');
DBTABLE('Select top 1 * From tupe Order By ID');
cc:=DBVALUE('stkname');  
DBREADTYPE(1);

把连接数据库的代码去掉后公式就能够正常执行和显示结果

 回到顶部
帅哥哟,离线,有人找我吗?
无为剑
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:管理员 帖子:2437 积分:0 威望:0 精华:0 注册:2016/3/5 22:53:41
  发帖心情 Post By:2020/9/29 8:51:47 [只看该作者]

数据库功能需要收费版才能支持,另外你试试改到Access数据库看看呢?看看是都不行还是就只是Sql server不行

 回到顶部
帅哥哟,离线,有人找我吗?
popypopy
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:新手上路 帖子:82 积分:0 威望:0 精华:0 注册:2020/9/21 10:56:16
  发帖心情 Post By:2020/9/30 4:46:37 [只看该作者]

连接access数据库也不行

 回到顶部
帅哥哟,离线,有人找我吗?
popypopy
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:新手上路 帖子:82 积分:0 威望:0 精华:0 注册:2020/9/21 10:56:16
  发帖心情 Post By:2020/10/13 8:39:33 [只看该作者]

我现在已经开通了金字塔信达证券版专业版的模拟交易,可以使用专业版的功能了,但是发现还是不能连接sql server。以下是连接sql server的代码范例:
DATABASE('driver=9BC2\SQLEXPRESS;Server=127.0.0.1;DATABASE=stock;UID=sa;PWD=xxxxx');
DBTABLE('Select top 1 * From tupe Order By ID');
cc:=DBSTRING('stkname'); 
DBREADTYPE(1);   

只要一加入这段代码,策略就不执行了,信息窗口什么都不输出

 回到顶部
帅哥哟,离线,有人找我吗?
无为剑
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:管理员 帖子:2437 积分:0 威望:0 精华:0 注册:2016/3/5 22:53:41
  发帖心情 Post By:2020/10/13 8:48:54 [只看该作者]

光是上面的信息我们无法帮你看到问题的,因为我们也不知道你的数据库信息和表信息是否有异常,你可以看一下我们提供的数据库ACCESS范例,完全按照范例上的运行看看,逐步排查问题。

利用数据库扩充金字塔的数据存放及分析能力
http://www.weistock.com/bbs/dispbbs.asp?boardid=5&Id=401

 回到顶部
帅哥哟,离线,有人找我吗?
popypopy
  6楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:新手上路 帖子:82 积分:0 威望:0 精华:0 注册:2020/9/21 10:56:16
  发帖心情 Post By:2020/10/13 12:32:16 [只看该作者]

access数据库按照论坛帖子里的指南可以连接。

但sql server就是连接不上,而且我的sql server通过web服务是可以访问的,可以正常输出数据。
我把帖子范例中的test.mdb导入到sql server中生成了同样名称的数据库test, 里面也添加了同样名称的表SH600000, 通过web服务也可以访问,但是在金字塔里就不行

能否再帮我分析下我的连接字符串有什么问题:
DATABASE('driver={SQL Server};Server=127.0.0.1;DATABASE=test;UID=sa;PWD=xxxx);
//检索数据库表
DBTABLE('Select * From SH600000 Order By StockDate desc');
//读取STOCKCLOSE字段数据 
cc:DBVALUE('STOCKCLOSE'); 

我的sql server服务器名是:9BC2\SQLEXPRESS


[此贴子已经被作者于2020/10/13 12:33:09编辑过]

 回到顶部
帅哥哟,离线,有人找我吗?
popypopy
  7楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:新手上路 帖子:82 积分:0 威望:0 精华:0 注册:2020/9/21 10:56:16
  发帖心情 Post By:2020/10/13 13:31:21 [只看该作者]

另外连接access数据库还遇到一个问题,用范例的中的代码
DATABASE('Provider=Microsoft.ACE.OLEDB.12.0;Data Source=c:\stk\test.mdb'); 
DBTABLE('Select * From SH600000 Order By StockDate desc');
cc:DBVALUE('STOCKCLOSE');  

msgout(1,numtostr(cc,2));

我只能读取和输出第一条数据 而不是完整的数据集。
我尝试用msgout(1,numtostr(cc[3],2)); 想输出第3条数据,但显示的还是第一条数据的值
怎样写才能循环输出所有的数据?

 回到顶部
帅哥哟,离线,有人找我吗?
无为剑
  8楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:管理员 帖子:2437 积分:0 威望:0 精华:0 注册:2016/3/5 22:53:41
  发帖心情 Post By:2020/10/13 17:13:04 [只看该作者]

1,Server=127.0.0.1 这个是表示本地的服务器数据库连接,你测试时是在数据库的服务器上吗?否则的话这里你要写上SERVER的服务器地址。
2,改用逐K线运行模式输出整个数据集

 回到顶部
帅哥哟,离线,有人找我吗?
popypopy
  9楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:新手上路 帖子:82 积分:0 威望:0 精华:0 注册:2020/9/21 10:56:16
  发帖心情 Post By:2020/10/13 19:34:40 [只看该作者]

1. sql server就是安装在本机的,所以地址用的是127.0.0.1
2. 是运行在逐k线模式下的,但是数据集只能输出第一条。

 回到顶部
帅哥哟,离线,有人找我吗?
无为剑
  10楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:管理员 帖子:2437 积分:0 威望:0 精华:0 注册:2016/3/5 22:53:41
  发帖心情 Post By:2020/10/13 21:11:16 [只看该作者]

1, 这个问题我们就无法帮你解决了,你可以使用其他工具使用ADO调用的方式看看能否正常连接你的SQL服务器。比如VB,VC等开发工具

2,逐k线模式下,你直接这样输出,不要指定数组
msgout(1,numtostr(cc,2));


[此贴子已经被作者于2020/10/13 21:11:37编辑过]

 回到顶部
总数 16 1 2 下一页