是否有人使用SQL Server后端转换现有的.NET应用程序以与Oracle一起使用

R N*_*R N 1 .net sql sql-server oracle

我希望修改具有SQL Server后端的.NET应用程序,以使其与Oracle一起使用.有没有人这样做过?我可以避免任何陷阱?

Rob*_*vey 5

这实际上取决于您访问数据库的方式,以及您的代码有多少是特定于数据库的.

如果您使用Linq to SQL,则必须迁移到其他ORM,因为Linq to SQL仅支持SQL Server.

如果您使用的是存储过程或DDL语句,则可能必须重写其中的大部分内容才能使它们在Oracle中工作.

如果您的SQL语句都符合ANSI SQL,并且您使用ADO.NET访问数据库,则您可能需要做的就是更改连接字符串.

某些数据类型在Oracle中具有不同的名称.

使用实体框架可能会减少一些痛点; 由于EF支持多个数据库提供程序,因此它应该消除大部分兼容性问题.

一般来说,Oracle需要比SQL Server更多的专业知识,维护和调优.拥有DBA确实是有益的.

  • 这不是一个简单的港口; 例如,SQL Server和DB2之间的并发(锁定)模型彼此之间的相似程度要高于Oracle.SQL Server应用程序倾向于使用大量临时表并以极高的频率提交以释放锁; 所有这一切都是为Oracle系统增加延迟. (2认同)