从一个数据库表复制到另一个 C#

2023-11-25

使用 C# (vs2005),我需要将表从一个数据库复制到另一个数据库。两个数据库引擎都是 SQL Server 2005。对于远程数据库(源),我只有对存储过程的执行访问权限才能获取我需要在本地带来的数据。

我对本地数据库有更多的控制权,因为它由需要此远程表的本地副本的 [asp.net] 应用程序使用。我们希望它是本地的,以便于查找和与其他表连接等。

您能否向我解释一下将此数据复制到我们本地数据库的有效方法。

如果可以使事情变得更简单,可以使用与远程表相同的模式创建本地表。远程表有 9 列,其中没有一个是标识列。远程表中大约有 5400 行,并且这个数字每年大约增长 200 行。所以不是一个快速更换的桌子。


也许是 SqlBulkCopy;使用 SqlCommand.ExecuteReader 获取在调用 SqlBulkCopy.WriteToServer 时使用的读取器。这与批量插入相同,所以非常快。它应该看起来某物喜欢(未经测试);

using (SqlConnection connSource = new SqlConnection(csSource))
using (SqlCommand cmd = connSource.CreateCommand())
using (SqlBulkCopy bcp = new SqlBulkCopy(csDest))
{
    bcp.DestinationTableName = "SomeTable";
    cmd.CommandText = "myproc";
    cmd.CommandType = CommandType.StoredProcedure;
    connSource.Open();
    using(SqlDataReader reader = cmd.ExecuteReader())
    {
        bcp.WriteToServer(reader);
    }
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

从一个数据库表复制到另一个 C# 的相关文章

随机推荐

  • 优化Java中字符串集合的内存使用

    我有大量的名称 值对 大约 100k 我需要将它们存储在某种缓存 例如哈希映射 中 其中值是平均大小约为 30k 字节的字符串 现在我知道一个事实 即大量值具有完全相同的字符串数据 为了避免多次分配相同的字符串数据 我想以某种方式重用以前分
  • Android - ImageView 内的画布绘制线

    我有一个 ImageView 我想在其中画一条线 我已经做了以下操作 mImagenCampo ImageView findViewById R id imagen campo crearPunto mArea9M mPaloIzq v g
  • 如何在Android SQLite中使用TRIGGER

    我的数据库中有两个表 表一有姓名和房间号栏 表二有房间号和时间栏 现在 当删除或添加第一列中的房间号时 我的第二个表也应该更新 我认为这可以通过 TRIGGER 命令实现 但我不太确定如何使用它 一般来说我的创建数据库语句是这样的 priv
  • 获取年份中的季度开始日期和结束日期

    我正在使用 SQL Server 2008 我想获取一年中所有季度的开始日期和结束日期 例如 如果我在查询中传递 2013 那么输出应该像 StartDate EndDate QuarterNo 2013 04 01 00 00 00 00
  • 未使用 MetadataType 加载元数据

    我有一些问题 疑问元数据类型 我有 DLL 帮助程序项目 用于使用 LinqToSQL 从 MS SQL Server 访问数据 我还需要为生成的类 ClientInfoView 添加元数据 我是按照以下方式完成的 using System
  • 如何识别程序集是使用 .NET 4.5(而不是 .NET 4.0)编译的?

    我有一些构建代理通过 TeamCity 设置为我们构建 NET 代码 我开始怀疑 尽管有项目设置 它们是否仍在输出 NET 4 5 构建的程序集 我的怀疑来自于这样一个事实 我不知道 Windows 2012 Server 是否附带了开箱即
  • 在 ViewPager 内部设计 Horizo​​ntalScrollView 或使用片段:

    我需要设计以下屏幕 需要您的建议 解释 标题是静态 固定的 我不需要对它做任何事情 Yellow 这是有趣的部分 我需要设计一个ViewPager类似于能够向左 向右滚动最多 4 个屏幕的屏幕 Red 在每个屏幕中 我需要添加一个表格 网格
  • 更改选项卡时如何隐藏软键盘?

    编辑 看来我没有说清楚 我需要的是一种每当我替换所在片段时隐藏软键盘的方法 我该如何去做呢 让我保持简单 我在 Tab Fragment 1 2 中有一个 EditText 框 按下时它显然会打开软键盘 当选项卡更改时如何隐藏它 我在 on
  • Android,对话框中的SeekBar

    我想在我的应用程序中使用带有搜索栏的对话框 但我真的不知道该怎么做 因为我缺乏 Android 经验 因此 当您按下按钮时 应该出现一个带有搜索栏的对话框 用户可以输入一个值 然后按 确定 按钮 我现在的代码是developer andro
  • Class.getResource() 返回 null

    我试图在 JPanel 上显示图片 但我不断收到错误 java lang IllegalArgumentException 输入 null 我不明白发生了什么事 这是我正在使用的代码 public void actionPerformed
  • 如何将桌面图标设置为C# Windows窗体[重复]

    这个问题在这里已经有答案了 我已经调试了 C WinForm exe 将其复制到桌面并想将其分发给其他人 如何为此 exe 设置 ico 以便桌面图标自动出现在计算机上 该计算机也会下载它 而无需进行任何调整 在 Visual Studio
  • 根据列对二维 int 数组进行排序的过程

    我之前拥有的数组以及排序后我们想要的数组 Before Box Weight Priority 1 50 5 2 30 8 3 90 6 4 20 7 5 80 9 After Box Weight Priority 3 90 6 5 80
  • 我如何知道故障转储的 CLR 版本?

    我有一个 NET 应用程序崩溃的小型转储 有没有办法使用 Windbg 或其他工具了解故障机器 生成故障转储 的 CLR 版本 例如 mscorwks dll 的版本 在 WinDbg 中 最简单的方法是使用 eeversion命令 但如果
  • Callable 基类无效?

    有人可以解释为什么继承自非参数化和参数化Callable from typing import Callable from typing import NoReturn from typing import TypeVar T TypeVa
  • 将选项传递给 chrome 驱动程序 selenium

    我正在尝试禁用 chrome 控制台的输出 如果我通过 start maximized 选项 它就可以正常工作 我可能命令错误 DesiredCapabilities capabilities DesiredCapabilities chr
  • 无法更新到 com.google.gms:google-services:4.2.0

    启动时谷歌服务版本 是classpath com google gms google services 4 1 0 但是当我将其更改为4 2 0错误发生在Sync Project with Gradle files 我的顶级等级 Top l
  • PHP:通过 Parent::method() 与 $this->method() 从子类调用方法的差异

    假设我有一个家长班 class parentClass public function myMethod echo parent myMethod was called 和下面的子班 class childClass extends par
  • pyinstaller 失败并出现错误

    我正在使用 pyinstaller 编译当前的程序 它似乎无法处理所有需要的文件 它本身运行良好 并且无需绘图也可以编译和运行 似乎无法找到文件 default schema json 我什至无法在驱动器上的任何位置找到该文件 回溯 最近一
  • 将浮点数转换为字符串

    如何在不使用库函数的情况下将 C C 中的浮点整数转换为字符串sprintf 我正在寻找一个功能 例如char ftoa float num 转换num到一个字符串并返回它 ftoa 3 1415 应该返回 3 1415 根据 Sophy
  • 从一个数据库表复制到另一个 C#

    使用 C vs2005 我需要将表从一个数据库复制到另一个数据库 两个数据库引擎都是 SQL Server 2005 对于远程数据库 源 我只有对存储过程的执行访问权限才能获取我需要在本地带来的数据 我对本地数据库有更多的控制权 因为它由需