DELPHI盒子
!实时搜索: 盒子论坛 | 注册用户 | 修改信息 | 退出
检举帖 | 全文检索 | 关闭广告 | 捐赠
技术论坛
 用户名
 密  码
自动登陆(30天有效)
忘了密码
≡技术区≡
DELPHI技术
lazarus/fpc/Free Pascal
移动应用开发
Web应用开发
数据库专区
报表专区
网络通讯
开源项目
论坛精华贴
≡发布区≡
发布代码
发布控件
文档资料
经典工具
≡事务区≡
网站意见
盒子之家
招聘应聘
信息交换
论坛信息
最新加入: laidabin
今日帖子: 2
在线用户: 16
导航: 论坛 -> 数据库专区 斑竹:liumazi,waterstone  
作者:
男 ltxubo (波仔) ★☆☆☆☆ -
普通会员
2018/6/7 10:08:14
标题:
关于dbgrid导入服务器数据的棘手问题 浏览:1847
加入我的收藏
楼主: 公司地磅秤采用access数据库,我想把里面的数据定时采集到服务器sqlserver里,或者做成程序获取到access数据到dbgrid里,然后把dbgrid里的数据导入到服务器里,由于数据库不在同一个电脑里,想不出好的方法,哪位大侠帮帮忙?
----------------------------------------------
-
作者:
男 wang_80919 (Flying Wang) ★☆☆☆☆ -
普通会员
2018/6/7 10:21:03
1楼: dbgrid 只不过负责显示而已。
为啥总有人喜欢 绕道?
难道这样可以体现自己的勤奋?
----------------------------------------------
(C)(P)Flying Wang
作者:
男 drroc (mvcxe) ★☆☆☆☆ -
盒子活跃会员
2018/6/7 10:21:12
1楼: 棘手问题:)

如果两台机是可以联网的就简单了
写个服务程序在access那台机上,读access内容写到sqlserver中

如果不能联网的,将access拷sqlserver那台机,再用上面的程序,导一下

与dbgrid都无关
----------------------------------------------
MVCXE中国首个DELPHI MVC WEB框架:https://www.mvcxe.com/
作者:
男 bahamut8348 (leonna) ★☆☆☆☆ -
普通会员
2018/6/7 11:03:53
2楼: 这个和dbgrid没什么关系。
甚至和delphi都没什么关系。
如果可以联到你的sqlserver本机的话,直接把文件上传到安装了sqlserver的电脑,然后用sql脚本直接导入就可以了。
----------------------------------------------
--
作者:
男 ltxubo (波仔) ★☆☆☆☆ -
普通会员
2018/6/7 11:58:07
3楼: 我目前的设计思路是这样的:我用三层架构在公司局域网可以实时的看到dbgrid的数据,操作工每天看完数据后把当天的数据保存到服务器sqlserver中,当然数据不能重复,我使用insert into 服务器表 from 地磅秤电脑的表 where 条件,因为表不在一个数据库中,想不出好的方式处理,想到了盒子,这里有大牛,希望能得正解
----------------------------------------------
-
作者:
男 ltxubo (波仔) ★☆☆☆☆ -
普通会员
2018/6/7 12:01:29
4楼: 那种按照本地包的方式我会,但是不能实时分析保存,比如操作工要统计最近一段时间的数据,他可以直接选择范围把分析的数据导入到服务器,我这样做的目的主要考虑access存储数据不安全,不如把数据保存到服务器里
----------------------------------------------
-
作者:
男 ltxubo (波仔) ★☆☆☆☆ -
普通会员
2018/6/7 12:04:42
5楼: 一楼能否提供一条思路.开始我也觉得很容易,但是处理起来还真有点棘手
----------------------------------------------
-
作者:
男 sail2000 (小帆工作室) ★☆☆☆☆ -
盒子活跃会员
2018/6/7 13:37:16
6楼: 不就是个数据同步程序嘛?想那么复杂干嘛?

本地数据库开个字段做标记,没有标记的,统统向服务器上丢,丢完就做个标记,下次丢的时候已做标记的跳过,多简单啊。
----------------------------------------------
delphi 是兴趣,和工作无关,即使它倒闭。又不靠它 delphi 吃饭,怕甚?
作者:
男 ltxubo (波仔) ★☆☆☆☆ -
普通会员
2018/6/7 15:03:37
7楼: 道理都知道,第一,2个数据表不在同一个电脑,第二,我只想知道怎么用代码去处理,想着都明白,就是在一个sql语句里怎么用2个不是连接同一个数据库的adoquery.头大的问题?要具体步骤和具体代码,不要围观者说笑
----------------------------------------------
-
作者:
男 ycfree (ycfree) ★☆☆☆☆ -
盒子活跃会员
2018/6/7 15:34:36
8楼: 没看出哪里棘手了,另外这和DBGrid毫无关系
----------------------------------------------
-
作者:
男 sail2000 (小帆工作室) ★☆☆☆☆ -
盒子活跃会员
2018/6/7 19:42:07
9楼: 这个真的简单啊,
client 查询端用 firedac ado 组建查询出没有标记的数据,
server 提交端用 firedac sqlserver 组建连接你的 sqlserver,查到 ado 数据后组织 sql 语句,传到服务端 query 的 params, 最后用事务 commit ,提交成功就做本地标记,失败就回滚。

至于本地标记,可以开一个字段,也可以开一张表等等等等。。。

至于想要现成代码。。。
----------------------------------------------
delphi 是兴趣,和工作无关,即使它倒闭。又不靠它 delphi 吃饭,怕甚?
作者:
男 ltxubo (波仔) ★☆☆☆☆ -
普通会员
2018/6/11 15:59:56
10楼: 真的没人能解决这个问题,都是大嘴巴
----------------------------------------------
-
作者:
男 wang_80919 (Flying Wang) ★☆☆☆☆ -
普通会员
2018/6/11 17:12:30
11楼: 本来写了答案,看到 大嘴巴,我还是闭嘴好了。
反正也不详细。
此帖子包含附件:
PNG 图像
大小:38.1K
----------------------------------------------
(C)(P)Flying Wang
作者:
男 wang_80919 (Flying Wang) ★☆☆☆☆ -
普通会员
2018/6/11 17:19:05
12楼: 把刚才写的加密一下。

反正没写代码,就写几行字而已。
此帖子包含附件:wang_80919_201861117195.zip 大小:599B
----------------------------------------------
(C)(P)Flying Wang
作者:
男 magiewang (magiewang) ▲▲▲△△ -
普通会员
2018/6/12 8:52:28
13楼: 你这不是来请教,而是让别人写好了你拿去用,基础那么差,嘴巴还毒。自求多福吧,你都说那种话了,谁再写代码给你不是犯贱?
----------------------------------------------
-
作者:
男 nihaongy (nihao) ★☆☆☆☆ -
普通会员
2018/6/12 9:37:55
14楼: magiewang (magiewang)    理解新人,遇到难题的心情,都是新人走过来,会的话,尽量详细点
----------------------------------------------
-相互学习,共同进步! 努力每一天,不能望山跑死马
发上等愿,结中等缘,享下等福;择高处立,寻平处住,向宽处行
作者:
男 nihaongy (nihao) ★☆☆☆☆ -
普通会员
2018/6/12 9:39:27
15楼: wang_80919 (Flying Wang) 老猫,同志,恭喜获得 delphi界贡献精神杰出奖
----------------------------------------------
-相互学习,共同进步! 努力每一天,不能望山跑死马
发上等愿,结中等缘,享下等福;择高处立,寻平处住,向宽处行
作者:
男 ltxubo (波仔) ★☆☆☆☆ -
普通会员
2018/6/12 14:51:22
16楼: 问题已解决,可能一时思路闭塞,对不住各位了
----------------------------------------------
-
作者:
男 shadowpj (administrator) ★☆☆☆☆ -
普通会员
2018/6/12 15:20:34
17楼: 语句如下:
insert into 表 select * from openrowset('Microsoft.Jet.OLEDB.4.0','E:\a.mdb';'admin';'',DEPARTMENTS) 
参数中:'admin' access用户 '' 密码空自己写  DEPARTMENTS 是access表名

具体写程序可以在SQL里写一个存储过程。由程序去调用。过程如下:
CREATE proc accessTOsql @path varchar(200)
AS
  --建立临时表记录导入信息
  if object_id('acctmp') is not null drop table acctmp
  create table acctmp(id int,name varchar(50))
  
  exec('insert into acctmp select deptid,deptname from  
        openrowset(''Microsoft.Jet.OLEDB.4.0'','''+@path+''';''admin'';'''',DEPARTMENTS)')
----------------------------------------------
学习学习....
作者:
男 ltxubo (波仔) ★☆☆☆☆ -
普通会员
2018/6/13 12:30:41
18楼: shadowpj 谢谢,基本和我的思路差不多,我没用存储过程,简单的做了个每隔10分钟采集一下服务器没有的数据.其实有些问题,大家讨论讨论,思路就开了,不要看了就说简单什么的,等于没说,每个提问题的都是想拓展下思路,本帖完结,谢谢提供思路的朋友们.
----------------------------------------------
-
作者:
男 wang_80919 (Flying Wang) ★☆☆☆☆ -
普通会员
2018/6/13 12:36:39
19楼: 你明明是提问有问题,居然怪我们回答有问题?
----------------------------------------------
(C)(P)Flying Wang
信息
登陆以后才能回复
Copyright © 2CCC.Com 盒子论坛 v3.0.1 版权所有 页面执行50.78125毫秒 RSS