Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/310.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/63.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 两种不同数据库模式之间的数据映射_C#_Mysql_Sql_Data Migration_Data Mapping - Fatal编程技术网

C# 两种不同数据库模式之间的数据映射

C# 两种不同数据库模式之间的数据映射,c#,mysql,sql,data-migration,data-mapping,C#,Mysql,Sql,Data Migration,Data Mapping,我必须设计一个带有sql数据库的系统,其工作是从另一个数据库(如mysql或oracle等)中的不同数据库获取数据。然后系统将该数据库的属性映射到我的数据库模式并存储它们。。 参考链接示例: 因为我是新来的,所以我不能附加图片,这就是我提供链接的原因 我所有的搜索最终都会得到映射工具,但实际上我想要的是如何自己创建该工具。 我不是一个专业人士,但对我来说一点点推动就足够了,我非常感激。提前谢谢 请忽略此任务,任何形式的编程,不要这样做。尤其是忽略实体框架 我建议您从众多ETL工具中选择一个,并使

我必须设计一个带有sql数据库的系统,其工作是从另一个数据库(如mysql或oracle等)中的不同数据库获取数据。然后系统将该数据库的属性映射到我的数据库模式并存储它们。。 参考链接示例: 因为我是新来的,所以我不能附加图片,这就是我提供链接的原因

我所有的搜索最终都会得到映射工具,但实际上我想要的是如何自己创建该工具。
我不是一个专业人士,但对我来说一点点推动就足够了,我非常感激。提前谢谢

请忽略此任务,任何形式的编程,不要这样做。尤其是忽略实体框架

我建议您从众多ETL工具中选择一个,并使用它设计工作。我可以推荐你。它很容易学习,而且随着时间的推移,甚至开发人员也开始使用它。 最棒的是,它可以连接到Web服务、企业解决方案以及任何可以想象的数据库


您要做的是设计并行运行的作业,然后将作业导出为独立的JAR。chroneJob或定时服务完成了周期性执行的过程

正如我在评论中所说的,我觉得这是集成服务包的工作

如果要使用Microsoft SQL Server集成服务,应首先在开发计算机上安装

之后,首先在VisualStudio中创建一个新的集成服务项目。然后,您可以添加ODBC连接管理器来管理不同数据库的数据输入。之后,您可以在包中添加不同的转换容器对象,以便根据需要转换数据。最后,您需要将所有这些元素的输出指定到数据库中,以便存储从其他来源收集的信息

您还可以为您拥有的每个源数据库创建不同的包,以便将任务分开。不幸的是,我在这里发布的完整教程非常长,但您可以在上查看教程。另一个例子

作为警告,您应该对数据类型非常小心,因为如果您不正确匹配/转换它们,包将失败,并出现不太明显的错误

如果选择创建应用程序的
.tt
(T4模板)解决方案,则应首先连接到源数据库并循环表定义以获取列,然后将它们存储为xml文件。匹配必须在文本模板文件中进行,以便在从数据源读取表时已完成匹配


这是一个应该让你开始的例子。请注意,在本例中,输出文件将是.cs文件而不是.xml文件,但您可以使用T4指令
轻松配置该文件

您签出实体框架了吗?对于不同的数据库,可以有不同的提供程序。然后用AutoMapper之类的工具在模型之间映射。你走错了方向。。我将创建一个基于云的服务,该服务将从不同的系统获取数据,然后根据自己的数据库模式进行映射并存储。。本文以医院管理系统为例进行阐述。我的服务将从不同供应商使用不同数据库创建的不同医院的数据库中收集数据,然后使用我自己的数据库属性映射这些数据。我希望您现在能够理解我的要求。通过使用Sql Server Integration Services为您映射和存储数据,这可以很容易地做到。如果您真的需要自己创建这个,我只需要在xml文件中映射表。您可以使用
.tt
文件(文本模板)生成这些文件,这样您就不必手动操作了。@MihailStancescu能否请您详细说明一下。。。我想这就是我要找的。。如果可能的话,举个例子对我来说是非常好的,请作为答案回答,这样我才能正确地标记它。@dustmouse你是认真的吗?您会建议与EF进行数据集成吗?耶苏乌斯!!!!如果我不想使用现有的工具怎么办?你的日子会很难过。变更请求将会出现,ETL维护在工具中比在代码中更容易。此外,FasterSis是一个可靠的工具,但严重依赖元数据,需要很长时间才能掌握。pentaho或talend更适合于第一次听说ETL的人