如何在一个数据库点击中将多个插入或更新推送到一起-适用于多数据库(SQL Server、Oracle、MySQL和Pos

本文关键字:数据库 适用于 多数据 到一起 SQL Server Oracle Pos MySQL 插入 一个 | 更新日期: 2023-09-27 18:00:55

我正试图为我们的项目开发一个数据层库,该库支持多个数据库(目前SQL Server、Oracle、MySQL和PostgreSQL(。数据库服务器通常会托管在公共云中。数据访问(选择、插入、更新、删除(是从windows窗体客户端和web服务器执行的。winforms客户端迫使我以一种最小化数据库往返的方式来设计东西。

我遇到的问题是">如何在一次数据库命中中同时推送多个插入或更新"。

我对此做了很多谷歌搜索和研究,并知道参数化插入/更新是记住SQL注入攻击的方法。但它不适合我,因为我不想多次往返数据库。

BulkCopy是SQL Server特有的,主要用于插入。

存储过程/XML-我有不同的数据库,这使得维护每个数据库的存储过程变得困难。而且表的数量也不是静态的,新表可以随时引入,或者现有表可以更改,因为应用程序本质上是动态的。

对我来说,(目前(最好的选择是连接sql字符串(当然使用StringBuilder(并一次性启动查询。我查看了owasp-esapi dotnet库(http://code.google.com/p/owasp-esapi-dotnet/)但是没有实现sql编码(以防止sql注入(。此外,该项目现在看起来已经死了(上一次提交是在2010年12月(。

是否有任何开源实现负责为多个数据库(至少是SQL Server、Oracle、MySQL和PostgreSQL(注入SQL?

有没有其他方法可以实现这个目标(在一个数据库的往返行程中进行多次插入/更新(?

我在上使用C#。NET 4。

编辑:我们正试图将其作为一种产品推出,客户将有机会选择他/她想要的DB供应商。

如何在一个数据库点击中将多个插入或更新推送到一起-适用于多数据库(SQL Server、Oracle、MySQL和Pos

如果这是我的问题,我会在sql server上设置链接服务器。然后我会编写存储过程,从应用程序中接受必要的参数并对其进行处理。