注册 登录
编程论坛 VFP论坛

从客户端调用SQL Server上大型数据表(百万或千万的记录)可行吗?

大树临风 发布于 2021-03-02 23:24, 1669 次点击
请问:从客户端调用SQL Server上大型数据表(百万或千万的记录)可行吗?速度是否会存在问题?
5 回复
#2
mywisdom882021-03-03 08:28
测试一下就知道啦
#3
radiofan2021-03-03 09:30
没问题呀,数据库百万条算什么呀。我50万条记录用like检索也就1秒。

不过,你自己可以加个2000万条记录,测试下。

其实,数据库检索应该不是问题(做好优化),关键是处理锁……

[此贴子已经被作者于2021-3-3 09:32编辑过]

#4
大树临风2021-03-03 15:38
回复 2楼 mywisdom88
我的测试代码如下:
hand = SQLSTRINGCONNECT("DRIVER=SQL Server Native Client 11.0;SERVER=106.54.190.57;UID=user001;PWD=XXXXXXX_001;APP=Microsoft Visual FoxPro;WSID=NUVISION;Network=DBMSSOCN;Address=172.17.0.10,1433;DataBase=dbf0")
IF hand>0   
            GET=SQLEXEC(hand,"SELECT 法规名称,条款内容 FROM STb2","tmpupdate")   
            SELECT tmpupdate
ELSE
            MESSAGEBOX("连接登录失败,请重新检查网络!")
ENDIF

其中 “法规名称”、“条款内容”的数据类型都是char(254),下载下来的tmpupdate,字段都变成了memo型了,怎么办呢,请指点!
#5
yanling482021-03-04 12:32
估计是数据宽度太大了,你把数据类型改成char(249)试试。
#6
radiofan2021-03-05 08:46
以下是引用大树临风在2021-3-3 15:38:05的发言:

我的测试代码如下:
hand = SQLSTRINGCONNECT("DRIVER=SQL Server Native Client 11.0;SERVER=106.54.190.57;UID=user001;PWD=XXXXXXX_001;APP=Microsoft Visual FoxPro;WSID=NUVISION;Network=DBMSSOCN;Address=172.17.0.10,1433;DataBase=dbf0")
IF hand>0   
            GET=SQLEXEC(hand,"SELECT 法规名称,条款内容 FROM STb2","tmpupdate")   
            SELECT tmpupdate
ELSE
            MESSAGEBOX("连接登录失败,请重新检查网络!")
ENDIF

其中 “法规名称”、“条款内容”的数据类型都是char(254),下载下来的tmpupdate,字段都变成了memo型了,怎么办呢,请指点!


数据类型都是可以转换的。
1