Foxtable(狐表)用户栏目专家坐堂 → 如何把access的二进制列快速的传入sql二进制列


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

主题:如何把access的二进制列快速的传入sql二进制列

帅哥哟,离线,有人找我吗?
rjh4078
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:狐精 帖子:3361 积分:24808 威望:0 精华:0 注册:2012/3/26 21:47:00
如何把access的二进制列快速的传入sql二进制列  发帖心情 Post By:2016/5/23 14:22:00 [显示全部帖子]

如何把access的二进制列快速的传入sql二进制列

 回到顶部
帅哥哟,离线,有人找我吗?
rjh4078
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:狐精 帖子:3361 积分:24808 威望:0 精华:0 注册:2012/3/26 21:47:00
  发帖心情 Post By:2016/5/23 14:25:00 [显示全部帖子]

因为许多判断条件 所以没办法用ft的工具直接导入


 回到顶部
帅哥哟,离线,有人找我吗?
rjh4078
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:狐精 帖子:3361 积分:24808 威望:0 精华:0 注册:2012/3/26 21:47:00
  发帖心情 Post By:2016/5/23 15:04:00 [显示全部帖子]

reader(4) 这个4表示什么意思?


 回到顶部
帅哥哟,离线,有人找我吗?
rjh4078
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:狐精 帖子:3361 积分:24808 威望:0 精华:0 注册:2012/3/26 21:47:00
  发帖心情 Post By:2016/5/23 15:06:00 [显示全部帖子]

---------------------------
版本:2014.11.11.1
---------------------------
代码执行出错,错误信息:

 

System.InvalidCastException: 无法将类型为“System.String”的对象强制转换为类型“System.Byte[]”。

   在 UserCode.Test()
---------------------------
确定  
---------------------------

 

我改了下数据源的名字和表名  执行你这个代码出现这个错误 字段我用* 全查



 回到顶部
帅哥哟,离线,有人找我吗?
rjh4078
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:狐精 帖子:3361 积分:24808 威望:0 精华:0 注册:2012/3/26 21:47:00
  发帖心情 Post By:2016/5/23 15:11:00 [显示全部帖子]

明白


 回到顶部
帅哥哟,离线,有人找我吗?
rjh4078
  6楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:狐精 帖子:3361 积分:24808 威望:0 精华:0 注册:2012/3/26 21:47:00
  发帖心情 Post By:2016/5/23 17:02:00 [显示全部帖子]

试了下  可以达到效果 但是速度好慢 20条记录 差不多用了4分钟


 回到顶部
帅哥哟,离线,有人找我吗?
rjh4078
  7楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:狐精 帖子:3361 积分:24808 威望:0 精华:0 注册:2012/3/26 21:47:00
  发帖心情 Post By:2016/5/24 9:29:00 [显示全部帖子]

以下是引用jspta在2016/5/23 21:03:00的发言:
效率至少差5倍以上  
pcon.ConnectionString = ConnectionString
            padp.InsertCommand = New System.Data.SqlClient.SqlCommand()
            With padp.InsertCommand
                .Connection = pcon
                .CommandText = "ins ert into A(FileID,imgFileAttachment) values (@intFileID,@img)"
                If .Connection.State <> Data.ConnectionState.Open Then
                    .Connection.Open()
                End If
                Dim param As System.Data.SqlClient.SqlParameter
                param = .Parameters.Add("@intFileID", System.Data.SqlDbType.Int)
                param.Value = FileID
                param = .Parameters.Add("@img", System.Data.SqlDbType.Image)
                Dim fs As New System.IO.FileStream(SourceFileFullName, System.IO.FileMode.Open, System.IO.FileAccess.Read, System.IO.FileShare.ReadWrite)   '用文件流打开图片
                Dim br As New System.IO.BinaryReader(fs)   '根据文件流,申明一个二进制阅读器
                param.Value = br.ReadBytes(fs.Length)
                .ExecuteNonQuery()
                .Connection.Close()
                br.Close()
                fs.Close()

老师 本人菜鸟 这段代码不是很明白  我的需求是 先判断A数据源的sql服务器的附件表里存不存在与B数据源的access服务器上的附件表CRC相同的二进制文件  如果不存在就将B数据源里的记录(包含二进制列)复制到A数据源的sql服务器对应的表


 回到顶部
帅哥哟,离线,有人找我吗?
rjh4078
  8楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:狐精 帖子:3361 积分:24808 威望:0 精华:0 注册:2012/3/26 21:47:00
  发帖心情 Post By:2016/5/24 9:46:00 [显示全部帖子]

我这个二进制列的文件格式是不确定的 有可能是图片 有可能是PDF或者其他任何格式的文件 代码通用吗 我看红袍老师的代码 意思好像是将图片转成字符 


 回到顶部