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


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

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

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


加好友 发短信
等级:七尾狐 帖子:1731 积分:11255 威望:0 精华:0 注册:2011/12/15 22:06:00
  发帖心情 Post By: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()

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


加好友 发短信
等级:狐精 帖子:3355 积分:24732 威望: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服务器对应的表


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


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2016/5/24 9:31:00 [只看该作者]


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


加好友 发短信
等级:七尾狐 帖子:1731 积分:11255 威望:0 精华:0 注册:2011/12/15 22:06:00
  发帖心情 Post By:2016/5/24 9:40:00 [只看该作者]

你可以用Foxtable的方法读取。上面是写入到SQL中。
Foxtable有个读取img的方法获得bytes,带入到即可。
你要跳出foxtable的方法不学习怎么行,否则你还是在原地踏步。

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


加好友 发短信
等级:狐精 帖子:3355 积分:24732 威望:0 精华:0 注册:2012/3/26 21:47:00
  发帖心情 Post By:2016/5/24 9:46:00 [只看该作者]

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


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


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2016/5/24 9:48:00 [只看该作者]

 通用

 回到顶部
总数 16 上一页 1 2