以文本方式查看主题 - Foxtable(狐表) (http://foxtable.com/bbs/index.asp) -- 专家坐堂 (http://foxtable.com/bbs/list.asp?boardid=2) ---- 快速保存代码求教 (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=107068) |
-- 作者:dengk03 -- 发布时间:2017/9/20 21:46:00 -- 快速保存代码求教 查到下面这段代码,执行了一下出错,提示无法访问目标表D,是怎么回事?查了下,问题出在copy.WriteToServer(DataTables("表D").basetable) \'你的datatable名字,执行把DataTable中的数据写入DB。 Dim tran As System.Data.SqlClient.SqlTransaction try Dim conn As new System.Data.SqlClient.SqlConnection("server=voyo;uid=sa;pwd=hailun.;database=Test") conn.Open() \'打开链接 tran = conn.BeginTransaction() Dim mapping1 As new System.Data.SqlClient.SqlBulkCopyColumnMapping("第一列", "第一列") Dim mapping2 As new System.Data.SqlClient.SqlBulkCopyColumnMapping("第二列", "第二列") Dim copy As new System.Data.SqlClient.SqlBulkCopy(conn, System.Data.SqlClient.SqlBulkCopyOptions.Default, tran) Copy.ColumnMappings.Add(mapping1) Copy.ColumnMappings.Add(mapping2) copy.DestinationTableName = "表D" \'指定服务器上目标表的名称 copy.BatchSize = 1000
copy.WriteToServer(DataTables("表D").basetable) \'你的datatable名字,执行把DataTable中的数据写入DB tran.Commit() \'提交事务 msgbox("OK") catch ex As exception msgbox(ex.message) tran.Rollback() \'返回False 执行失败! End try |
-- 作者:有点甜 -- 发布时间:2017/9/20 23:34:00 -- 你的sqlserver数据库有【表D】吗?你要写入的表的名字是? |
-- 作者:dengk03 -- 发布时间:2017/9/20 23:44:00 -- 表名钢筋,数据库里有这个表啊。 Dim tran As System.Data.SqlClient.SqlTransaction try Dim conn As new System.Data.SqlClient.SqlConnection("server=。。。。。。") \'改为自己数据库的连接字符串 conn.Open() \'打开链接 tran = conn.BeginTransaction() Dim mapping1 As new System.Data.SqlClient.SqlBulkCopyColumnMapping("编码_钢筋全码", "编码_钢筋全码") \'改为自己的列名,有多少列就增加多少个 Dim mapping2 As new System.Data.SqlClient.SqlBulkCopyColumnMapping("编码_钢筋编号","编码_钢筋编号") 。。。 Dim copy As new System.Data.SqlClient.SqlBulkCopy(conn, System.Data.SqlClient.SqlBulkCopyOptions.Default, tran) Copy.ColumnMappings.Add(mapping1) Copy.ColumnMappings.Add(mapping2) 。。。 copy.Destinati \'指定服务器上目标表的名称 copy.BatchSize = 1000 copy.WriteToServer(DataTables("钢筋").Basetable) \'你的datatable名字,执行把DataTable中的数据写入DB tran.Commit() \'提交事务 msgbox("OK") catch ex As exception msgbox(ex.message) tran.Rollback() \'返回False 执行失败! End try
|
-- 作者:有点甜 -- 发布时间:2017/9/20 23:47:00 -- 加上下面代码了吗?操作的时候报什么错?
copy.DestinationTableName = "钢筋" |
-- 作者:dengk03 -- 发布时间:2017/9/20 23:51:00 -- 加了。 报错为“无法访问目标表“钢筋”。”
|
-- 作者:有点甜 -- 发布时间:2017/9/21 9:13:00 -- 以下是引用dengk03在2017/9/20 23:51:00的发言:
加了。 报错为“无法访问目标表“钢筋”。”
1、你数据源设置(连接字符串)没写对
2、你数据库用户没有访问对应表的权限 |
-- 作者:dengk03 -- 发布时间:2017/9/21 9:49:00 -- 错误检查出来了,运行成功,600行保存一秒多,太爽了!谢谢老师! |