·您现在的位置: 云翼网络 >> 文章中心 >> 网站建设 >> 网站建设开发 >> ASP.NET网站开发 >> C#读取Visual FoxPro(*.dbf)数据并使用SqlBulkCopy插入到SqlServer 2008 R2数据表中

C#读取Visual FoxPro(*.dbf)数据并使用SqlBulkCopy插入到SqlServer 2008 R2数据表中

作者:佚名      ASP.NET网站开发编辑:admin      更新时间:2022-07-23
C#读取Visual FoxPRo(*.dbf)数据并使用SqlBulkCopy插入到SqlServer 2008 R2数据表中 公司数据库从32位的SqlServer 2005升级到64位的SqlServer 2008 R2后,无法再像原来通过Link Server连接VFP同步数据,因此考虑用代码程序从VFP数据库中读取所需数据然后再插入到SqlServer数据库中,下面贴出该C#代码以备忘或供有需要者参考。 privatevoidGetDataFromVFP() {OdbcConnectionconn =null;try {stringstrOdbcConn =@"Driver={Microsoft Visual FoxPro Driver};SourceType=DBF;SourceDB=D:/a/b;Exclusive=No;Collate=Machine;";stringstrInsertConn =@"User id=a;PassWord=b;Database=c;Server=d;Connect Timeout=50;Max Pool size=200;Min pool Size=5"; conn =newOdbcConnection(); conn.ConnectionString = strOdbcConn; conn.Open();stringstrTableName ="";for(inti = -8; i < 0; i++) { strTableName ="FOLIO"+DateTime.Today.AddDays(i).ToString("dd");stringsql =string.Format(@"select a,b,c from {0}", strTableName);OdbcDataAdapterda =newOdbcDataAdapter(sql, conn);DataTabledt =newDataTable(); da.Fill(dt);SqlBulkCopybulkCopy =newSqlBulkCopy(strInsertConn); bulkCopy.BulkCopyTimeout = 1800000; bulkCopy.DestinationTableName ="strTableName"; bulkCopy.WriteToServer(dt); } }catch { }finally {if(conn !=null) { conn.Close(); } } }