Foxtable(狐表)用户栏目专家坐堂 → [求助]导入数据内存溢出问题


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

主题:[求助]导入数据内存溢出问题

帅哥,在线噢!
有点蓝
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:105492 积分:536451 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2019/11/27 8:52:00 [显示全部帖子]

不要频繁的清空表数据和新增表数据。


 回到顶部
帅哥,在线噢!
有点蓝
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:105492 积分:536451 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2019/11/27 10:15:00 [显示全部帖子]

为什么不直接导入txt文件?http://www.foxtable.com/webhelp/topics/2629.htm

还要做个转换保存后再导入?纯粹多余的

 回到顶部
帅哥,在线噢!
有点蓝
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:105492 积分:536451 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2019/11/27 10:48:00 [显示全部帖子]

业务的东西我也看不懂。也没看出有什么用,建议直接导即可

 回到顶部
帅哥,在线噢!
有点蓝
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:105492 积分:536451 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2019/11/27 11:25:00 [显示全部帖子]

我也没看懂,估计是为了生成符合Merger的格式

如果直接导入,根本都用不到这个代码

 回到顶部
帅哥,在线噢!
有点蓝
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:105492 积分:536451 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2019/11/27 15:08:00 [显示全部帖子]

这个我也不清楚。merger方法应该是没有编码要求的。

 回到顶部
帅哥,在线噢!
有点蓝
  6楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:105492 积分:536451 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2019/12/3 12:06:00 [显示全部帖子]


 回到顶部
帅哥,在线噢!
有点蓝
  7楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:105492 积分:536451 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2019/12/3 14:50:00 [显示全部帖子]

应该是的。

合并文本文件:

Dim mg As New Merger
mg
.SourcePath = "c:\data\" '指定数据文件所在目录
mg.Format = 
"Delimited" '指定格式
mg
.SourceTableName = "订单" '指定要合并的文件,无需扩展名
mg
.DataTableName = "订单" '指定接收数据的表
mg
.Merge() '开始合并

合并文本文件的时候,最好配合有schema.ini文件。


如果没有对应的schema.ini文件列类型可能会有问题


 回到顶部
帅哥,在线噢!
有点蓝
  8楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:105492 积分:536451 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2019/12/3 15:37:00 [显示全部帖子]

看16楼

 回到顶部
帅哥,在线噢!
有点蓝
  9楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:105492 积分:536451 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2019/12/3 15:50:00 [显示全部帖子]

如果txt里列的位置和数量是和表格一致的,可以这样

    For i As Integer = 0 To rs.Length - 1
        Dim cs() As String = rs(i).Split(vbtab)
        If cs.Length = 4 Then
            Dim dr As DataRow = DataTables("表A").Addnew()
            For i As Integer = 0 To DataTables("表A").DataCols.Count - 1
                dr(i) = cs(i)
            Next
        End If
    Next

如果不一致,可以这样

    Dim arr() As String = {"第一列","第三列","第五列",.....} '这里列顺序和txt保持一致
    For i As Integer = 0 To rs.Length - 1
        Dim cs() As String = rs(i).Split(vbtab)
        If cs.Length = 4 Then
            Dim dr As DataRow = DataTables("表A").Addnew()
            For i As Integer = 0 To arr.Length - 1
                dr(arr(i)) = cs(i)
            Next
        End If
    Next

 回到顶部
帅哥,在线噢!
有点蓝
  10楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:105492 积分:536451 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2019/12/3 16:35:00 [显示全部帖子]

应该不是这句代码的问题
调试技巧:http://www.foxtable.com/webhelp/scr/1485.htm

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