第二个问题:压缩文件以哪种方式比较好?
第三个问题:服务器如何将收到数据倒入到各个数据表中(具体到命令)
第四个问题:服务器如果是如何辨别收到的数据是重复数据
这是我实在急需解决的问题,希望各位高手指教
高分回报,分不够再加。
26 个解决方案
#1
在线等待。。。。
#2
怎么没人回答?
#3
可以在pb中将数据save as 成文本文件,然后压缩上传,再在pb中导入。很方便。
#4
可否具体一点,我用的是delphi
#5
我用的是pb65
进入之后你在图标上选db profile
在oracle7。3上选new
然后在第一行随便取个名字。
server :@database
login id:
password:
应该知道怎么填吧。
然后第二页第一行填上面的login id
确定连接。
然后回到主画面,选database
选择表。
然后选择工具栏上的放大镜浏览
然后在文件菜单中选save row as
选择text类型就好了。
进入之后你在图标上选db profile
在oracle7。3上选new
然后在第一行随便取个名字。
server :@database
login id:
password:
应该知道怎么填吧。
然后第二页第一行填上面的login id
确定连接。
然后回到主画面,选database
选择表。
然后选择工具栏上的放大镜浏览
然后在文件菜单中选save row as
选择text类型就好了。
#6
楼上可否具体一点
save as 在delpi中如何使用
save as 在delpi中如何使用
#7
导入的时候浏览表
然后再row菜单中选择import
就好了。
然后再row菜单中选择import
就好了。
#8
楼上可是用手工?
我是要在程序中自动执行导出,导入工作
怎么实现
我是要在程序中自动执行导出,导入工作
怎么实现
#9
怎么没人回答了?
#10
我也想知道,我给你顶一下!!!
#11
那你最好用数据库提供的功能了吧
#12
请高手回答
#13
hlooo(天穹飞雨) 用户数据库如何实现?
#14
因为我也是刚学oracle不是很清楚。
但是我知道可以定时让oracle自动传输数据,应该有高手可以解答的吧。
但是我知道可以定时让oracle自动传输数据,应该有高手可以解答的吧。
#15
还没人回答吗?
#16
1、你的第一个问题应该到Delphi论坛去问。
2、第二个问题可以调用WINZIP解压缩。
3、第三个问题,导入可以用Oracle中的Sqlloader执行导入,在Delphi中调用:sqlldr userid=用户名/密码 control=.ctl文件 log=log文件
注:首先要建一个CTL文件,具体请参见www.oradb.net中:如何导入Excel文件。
4、第四个问题,可以用主键或唯一索引拦截,也可以考虑在表中加表记字段,在此只提供思路。
2、第二个问题可以调用WINZIP解压缩。
3、第三个问题,导入可以用Oracle中的Sqlloader执行导入,在Delphi中调用:sqlldr userid=用户名/密码 control=.ctl文件 log=log文件
注:首先要建一个CTL文件,具体请参见www.oradb.net中:如何导入Excel文件。
4、第四个问题,可以用主键或唯一索引拦截,也可以考虑在表中加表记字段,在此只提供思路。
#17
据我所知
只能是写程序实现
1。本地服务器生成txt文件
2。调用zip函数
3。控件send文件(确保数据可靠性,一般使用中间件)
4。远端服务器recv文件
5。执行sql*loader导入文件
只能是写程序实现
1。本地服务器生成txt文件
2。调用zip函数
3。控件send文件(确保数据可靠性,一般使用中间件)
4。远端服务器recv文件
5。执行sql*loader导入文件
#18
用CutFTP32上傳吧, 不過那是在Oracle Develepor中我們是這樣做的.
#19
试着回答一下第一三和第四个问题,方法很笨,但还算管用。
1 将今天所有表的MAX(rowid)保存下来 如:
select max(rowid) from table1;
取到MAX(rowid),并保存到一表maxrowid中.
2 根据昨天的MAX(rowid)取得新数据.
select * from table1 where rowid>=昨天的MAX(rowid).
取得结果集,保存,压缩,上传....
3 取得今天的MAX(rowid),更新表maxrowid中对应TABLE1表的MAX(rowid).
假设存为文本文件,用SQLLOAD就可以导入,或者用程序分别取出文件的中的字段,再用INSERT插入.
这样的话,就不会出现重复记录了.
但从你的说明上来看,你的远程机和服务器是在同一网络上,这样的话,你在远程机上设一个数据库别名,就可以直接用SQL语句来取新数据了.
1 将今天所有表的MAX(rowid)保存下来 如:
select max(rowid) from table1;
取到MAX(rowid),并保存到一表maxrowid中.
2 根据昨天的MAX(rowid)取得新数据.
select * from table1 where rowid>=昨天的MAX(rowid).
取得结果集,保存,压缩,上传....
3 取得今天的MAX(rowid),更新表maxrowid中对应TABLE1表的MAX(rowid).
假设存为文本文件,用SQLLOAD就可以导入,或者用程序分别取出文件的中的字段,再用INSERT插入.
这样的话,就不会出现重复记录了.
但从你的说明上来看,你的远程机和服务器是在同一网络上,这样的话,你在远程机上设一个数据库别名,就可以直接用SQL语句来取新数据了.
#20
非常感谢zhangshunshi(宇轩) 、 zzzsssccc(籍秋风) 、comcn(大XX) 、shi11() 的回答。我受益匪浅
通过你们的回答,我明确了思路
1。WINZIP压缩
2。 Sqlloader执行导入
3。主键或唯一索引拦截重复记录
第一个问题还没思路
如何提取本地“所有表”“某一天”的数据(用何种方法、何种命令)?
用spool?
还是其他?
用什么方法更好?
通过你们的回答,我明确了思路
1。WINZIP压缩
2。 Sqlloader执行导入
3。主键或唯一索引拦截重复记录
第一个问题还没思路
如何提取本地“所有表”“某一天”的数据(用何种方法、何种命令)?
用spool?
还是其他?
用什么方法更好?
#21
非常感谢zhangshunshi(宇轩) 、 zzzsssccc(籍秋风) 、comcn(大XX) 、shi11() 的回答。我受益匪浅
通过你们的回答,我明确了思路
1。WINZIP压缩
2。 Sqlloader执行导入
3。主键或唯一索引拦截重复记录
第一个问题还没思路
如何提取本地“所有表”“某一天”的数据(用何种方法、何种命令)?
用spool?
还是其他?
用什么方法更好?
通过你们的回答,我明确了思路
1。WINZIP压缩
2。 Sqlloader执行导入
3。主键或唯一索引拦截重复记录
第一个问题还没思路
如何提取本地“所有表”“某一天”的数据(用何种方法、何种命令)?
用spool?
还是其他?
用什么方法更好?
#22
use database link
#23
sun9989(一品黄山) use database link 好像对局域网或者(vlan)有用,
我的客户端和远程是通过电话连接把数据传过去,所以客户端只有把“所有表”“某一天”的数据传到服务器,只好先导出,服务器再导入。
关键是导出除了用spool外还有没有更好的方法?
我的客户端和远程是通过电话连接把数据传过去,所以客户端只有把“所有表”“某一天”的数据传到服务器,只好先导出,服务器再导入。
关键是导出除了用spool外还有没有更好的方法?
#24
你如果用PB的话这个问题就很好解决了,PB的数据窗口导出成文本文件比较方便
#25
delphi呢?
#26
非常感谢!给分了
#1
在线等待。。。。
#2
怎么没人回答?
#3
可以在pb中将数据save as 成文本文件,然后压缩上传,再在pb中导入。很方便。
#4
可否具体一点,我用的是delphi
#5
我用的是pb65
进入之后你在图标上选db profile
在oracle7。3上选new
然后在第一行随便取个名字。
server :@database
login id:
password:
应该知道怎么填吧。
然后第二页第一行填上面的login id
确定连接。
然后回到主画面,选database
选择表。
然后选择工具栏上的放大镜浏览
然后在文件菜单中选save row as
选择text类型就好了。
进入之后你在图标上选db profile
在oracle7。3上选new
然后在第一行随便取个名字。
server :@database
login id:
password:
应该知道怎么填吧。
然后第二页第一行填上面的login id
确定连接。
然后回到主画面,选database
选择表。
然后选择工具栏上的放大镜浏览
然后在文件菜单中选save row as
选择text类型就好了。
#6
楼上可否具体一点
save as 在delpi中如何使用
save as 在delpi中如何使用
#7
导入的时候浏览表
然后再row菜单中选择import
就好了。
然后再row菜单中选择import
就好了。
#8
楼上可是用手工?
我是要在程序中自动执行导出,导入工作
怎么实现
我是要在程序中自动执行导出,导入工作
怎么实现
#9
怎么没人回答了?
#10
我也想知道,我给你顶一下!!!
#11
那你最好用数据库提供的功能了吧
#12
请高手回答
#13
hlooo(天穹飞雨) 用户数据库如何实现?
#14
因为我也是刚学oracle不是很清楚。
但是我知道可以定时让oracle自动传输数据,应该有高手可以解答的吧。
但是我知道可以定时让oracle自动传输数据,应该有高手可以解答的吧。
#15
还没人回答吗?
#16
1、你的第一个问题应该到Delphi论坛去问。
2、第二个问题可以调用WINZIP解压缩。
3、第三个问题,导入可以用Oracle中的Sqlloader执行导入,在Delphi中调用:sqlldr userid=用户名/密码 control=.ctl文件 log=log文件
注:首先要建一个CTL文件,具体请参见www.oradb.net中:如何导入Excel文件。
4、第四个问题,可以用主键或唯一索引拦截,也可以考虑在表中加表记字段,在此只提供思路。
2、第二个问题可以调用WINZIP解压缩。
3、第三个问题,导入可以用Oracle中的Sqlloader执行导入,在Delphi中调用:sqlldr userid=用户名/密码 control=.ctl文件 log=log文件
注:首先要建一个CTL文件,具体请参见www.oradb.net中:如何导入Excel文件。
4、第四个问题,可以用主键或唯一索引拦截,也可以考虑在表中加表记字段,在此只提供思路。
#17
据我所知
只能是写程序实现
1。本地服务器生成txt文件
2。调用zip函数
3。控件send文件(确保数据可靠性,一般使用中间件)
4。远端服务器recv文件
5。执行sql*loader导入文件
只能是写程序实现
1。本地服务器生成txt文件
2。调用zip函数
3。控件send文件(确保数据可靠性,一般使用中间件)
4。远端服务器recv文件
5。执行sql*loader导入文件
#18
用CutFTP32上傳吧, 不過那是在Oracle Develepor中我們是這樣做的.
#19
试着回答一下第一三和第四个问题,方法很笨,但还算管用。
1 将今天所有表的MAX(rowid)保存下来 如:
select max(rowid) from table1;
取到MAX(rowid),并保存到一表maxrowid中.
2 根据昨天的MAX(rowid)取得新数据.
select * from table1 where rowid>=昨天的MAX(rowid).
取得结果集,保存,压缩,上传....
3 取得今天的MAX(rowid),更新表maxrowid中对应TABLE1表的MAX(rowid).
假设存为文本文件,用SQLLOAD就可以导入,或者用程序分别取出文件的中的字段,再用INSERT插入.
这样的话,就不会出现重复记录了.
但从你的说明上来看,你的远程机和服务器是在同一网络上,这样的话,你在远程机上设一个数据库别名,就可以直接用SQL语句来取新数据了.
1 将今天所有表的MAX(rowid)保存下来 如:
select max(rowid) from table1;
取到MAX(rowid),并保存到一表maxrowid中.
2 根据昨天的MAX(rowid)取得新数据.
select * from table1 where rowid>=昨天的MAX(rowid).
取得结果集,保存,压缩,上传....
3 取得今天的MAX(rowid),更新表maxrowid中对应TABLE1表的MAX(rowid).
假设存为文本文件,用SQLLOAD就可以导入,或者用程序分别取出文件的中的字段,再用INSERT插入.
这样的话,就不会出现重复记录了.
但从你的说明上来看,你的远程机和服务器是在同一网络上,这样的话,你在远程机上设一个数据库别名,就可以直接用SQL语句来取新数据了.
#20
非常感谢zhangshunshi(宇轩) 、 zzzsssccc(籍秋风) 、comcn(大XX) 、shi11() 的回答。我受益匪浅
通过你们的回答,我明确了思路
1。WINZIP压缩
2。 Sqlloader执行导入
3。主键或唯一索引拦截重复记录
第一个问题还没思路
如何提取本地“所有表”“某一天”的数据(用何种方法、何种命令)?
用spool?
还是其他?
用什么方法更好?
通过你们的回答,我明确了思路
1。WINZIP压缩
2。 Sqlloader执行导入
3。主键或唯一索引拦截重复记录
第一个问题还没思路
如何提取本地“所有表”“某一天”的数据(用何种方法、何种命令)?
用spool?
还是其他?
用什么方法更好?
#21
非常感谢zhangshunshi(宇轩) 、 zzzsssccc(籍秋风) 、comcn(大XX) 、shi11() 的回答。我受益匪浅
通过你们的回答,我明确了思路
1。WINZIP压缩
2。 Sqlloader执行导入
3。主键或唯一索引拦截重复记录
第一个问题还没思路
如何提取本地“所有表”“某一天”的数据(用何种方法、何种命令)?
用spool?
还是其他?
用什么方法更好?
通过你们的回答,我明确了思路
1。WINZIP压缩
2。 Sqlloader执行导入
3。主键或唯一索引拦截重复记录
第一个问题还没思路
如何提取本地“所有表”“某一天”的数据(用何种方法、何种命令)?
用spool?
还是其他?
用什么方法更好?
#22
use database link
#23
sun9989(一品黄山) use database link 好像对局域网或者(vlan)有用,
我的客户端和远程是通过电话连接把数据传过去,所以客户端只有把“所有表”“某一天”的数据传到服务器,只好先导出,服务器再导入。
关键是导出除了用spool外还有没有更好的方法?
我的客户端和远程是通过电话连接把数据传过去,所以客户端只有把“所有表”“某一天”的数据传到服务器,只好先导出,服务器再导入。
关键是导出除了用spool外还有没有更好的方法?
#24
你如果用PB的话这个问题就很好解决了,PB的数据窗口导出成文本文件比较方便
#25
delphi呢?
#26
非常感谢!给分了