ODBC与通过Internet进行数据库管理的新方法

时间:2009-07-01 14:34:09

标签: mysql database odbc

我正在进行一项遗留项目,其中使用ODBC连接在互联网上处理数据库管理。遗留程序最近已在C#中重写。我们目前正在讨论如何改进程序,我对使用ODBC连接数据库感到有点不舒服。我已经编写了使用套接字连接到服务器的例程以及结合cgi或php脚本的POST,PUT和GET命令,并且已经广泛阅读了我认为是前进方向的AJAX范例。我的同事坚持使用ODBC。使用ODBC连接与更现代的方法有什么优缺点?

5 个答案:

答案 0 :(得分:4)

数据库到应用程序协议从未设计为通过互联网使用。他们太健谈了,很难保证。如果您有机会这样做,那么您应该考虑将数据库封装在正确安全的Web服务之后。

答案 1 :(得分:1)

  

那些不了解网络的人注定要在端口80上重新发明它

对于基于ODBC的HTTP,没有任何“现代”的东西。只需确保将其包装在SSL和/或VPN中,并使用合理的访问控制。

它将比HTTP更高效,而HTTP不是为此而设计的。至少,HTTP命令为每个操作增加了大量开销。 ODBC将为您带来更好的延迟(这在客户端驱动的数据库设计中至关重要)

答案 2 :(得分:0)

如何使用ODBC与现代方法,Web服务。这种方法有许多优点。例如:

  • 多个客户端程序可以使用单个Web服务实例 访问数据。没有必要 在每个中写入数据库相关代码 个人申请。
    • 用户需要安装ODBC驱动程序并配置ODBC数据 源仅在服务器计算机上 托管Web服务。客户 程序可以在其他程序上运行 通过网络的机器。
    • 客户端程序不仅限于.NET或Windows平台。他们都是 必须要做的是访问数据库是调用 一个网络服务。
    • 数据库连接可以在不同的客户端之间共享 程序。
    • 可以从a控制和监控对数据库的访问 中心位置(网络服务)。

当然,查询的复杂性存在一些安全问题和限制。

答案 3 :(得分:0)

我的办公室里有类似的东西。他们有很多机器,VB.NET应用程序访问本地数据库(经常遇到太多未使用的连接)和一些通过SSH / SSL隧道联系外部数据库的Web服务。

除非隧道发生故障,否则外部数据库确实没有太多问题。您也可以设置VPN。

如果您对使用AJAX / JSON / REST技术与数据库通信感兴趣,可以使用DBSlayer之类的抽象层。

答案 4 :(得分:0)

使用TypeIV“直接”数据库驱动程序(如C#的System.Data.SqlClient命名空间或Java的JDBC驱动程序)的效率比通过ODBC层高2-3倍(性能更好)。

我会避免使用ODBC,因为它速度较慢,而且我认为它并不容易。