以文本方式查看主题

-  金字塔客服中心 - 专业程序化交易软件提供商  (http://weistock.com/bbs/index.asp)
--  高级功能研发区  (http://weistock.com/bbs/list.asp?boardid=5)
----  [求助]sqlserver 数据库连接问题  (http://weistock.com/bbs/dispbbs.asp?boardid=5&id=137156)

--  作者:sunos
--  发布时间:2016/7/27 12:01:46
--  [求助]sqlserver 数据库连接问题
我需要预警选股,然后往sqlserver里插入数据。
//连接d:\\test.mdb数据库
//DATABASE(\'Provider=Microsoft.Jet.OLEDB.4.0;Data Source=d:\\test.mdb\');
//检索数据库表
//DBTABLE(\'Select * From @Code@ Order By StockDate\');
//读取STOCKCLOSE字段数据
//cc:DBVALUE(\'STOCKCLOSE\');
DATABASE(\'Data Source=AICAT;UID=sa;PWD=111111;\');
//DATABASE(\'driver={SQL Server};Server=127.0.0.1\\sql;DATABASE=AICAT;UID=sa;PWD=111111\');
//DBEXECUTE(\'insert into IndexSignal(code) values("11")\');
DBTABLE(\'Select * From IndexSignal order by num\');
//读取STOCKCLOSE字段数据
cc:DBVALUE(\'num\');

经我测试,access数据库可以查询和插入数据;
odbc方式,连接数据库不报错,但select不到数据,cc返回0,表里是有一条数据,num=1;
sql driver方式,连接不上数据库,指标图上显示:odbc驱动程序管理器,未发现数据源名称并且未指定默认驱动程序。

--  作者:王锋
--  发布时间:2016/7/27 12:52:27
--  
Server=127.0.0.1\\sql; 这个是什么意思?试试只用 Server=127.0.0.1
--  作者:王锋
--  发布时间:2016/7/27 12:53:28
--  

建议使用ado方式连接数据库,这样可以兼容所有软件的连接方法。

你可以使用其他开发软件使用ado来验证数据库的链接正确性


--  作者:sunos
--  发布时间:2016/7/27 15:05:28
--  
ado方式怎么写?
--  作者:王锋
--  发布时间:2016/7/27 15:14:05
--  

DATABASE(\'driver={SQL Server};Server=127.0.0.1;DATABASE=AICAT;UID=sa;PWD=111111\');

这种就是ADO的连接方式,如果你要了解更多ADO的知识,请至度娘搜索


--  作者:sunos
--  发布时间:2016/7/27 15:15:50
--  
我就是用的这个,不行


--  作者:sunos
--  发布时间:2016/7/27 15:18:26
--  
难道你们不支持sql 实例名 ,我的数据库是加了实例名的 127.0.0.1\\sql
--  作者:王锋
--  发布时间:2016/7/27 15:20:38
--  

我们也不清楚你的数据库具体是怎么配置的,前面我也简单讲了,如果你觉得是我们金字塔的问题,那么你可以使用任何一个开发软件,比如VB,C++等,使用你的这个ADO链接字符串连接数据库,照样是无法连接的。

另外我们内部使用SQL SERVER数据库,没搞过什么实例名,就是直接用IP地址的


--  作者:sunos
--  发布时间:2016/7/28 9:10:11
--  
我现在是直接用ip地址,报错:[ODBC驱动程序管理器]未发现数据源名称并且未指定默认驱动程序,

//连接d:\\test.mdb数据库
//DATABASE(\'Provider=Microsoft.Jet.OLEDB.4.0;Data Source=d:\\test.mdb\');
DATABASE(\'driver={SQL Server};Server=127.0.0.1;DATABASE=AICAT;UID=sa;PWD=111111;\');
//DATABASE(\'Data Source=AICAT;UID=sa;PWD=111111;\');
//检索数据库表
DBTABLE(\'Select * From A\');
//DBEXECUTE(\'insert into A(code) values("ww")\');
//读取STOCKCLOSE字段数据
//cc:DBVALUE(\'STOCKCLOSE\');
cc:11

--  作者:sunos
--  发布时间:2016/7/28 9:18:56
--  
怎么报odbc错误了?