我正在开发一个传统项目,其中使用ODBC连接通过互联网处理数据库管理。遗留程序最近在C#中被重写。我们目前正在讨论如何改进该程序,并且使用ODBC连接数据库有点不舒服。我已经编写了一些例程,使用套接字和POST,PUT和GET命令与cgi或php脚本相结合来连接服务器,并且广泛阅读了我认为是前进方向的AJAX范例。我的同事坚持使用ODBC。使用ODBC连接与更现代的方法有什么区别?ODBC与通过互联网进行数据库管理的更新方法
回答
数据库到应用程序协议从来没有被设计为通过互联网使用。他们太唠叨,难以保护。如果您有机会这样做,那么您应该考虑将数据库封装在适当保护的Web服务之后。
如何使用ODBC与现代方法,Web服务。这种方法有很多优点。例如:
- 多个客户端程序可以使用单个Web服务实例来访问数据。不需要在每个 个别应用程序中编写与数据库相关的代码 。
- 用户需要安装ODBC驱动程序并在托管Web服务的服务器机器 上配置ODBC数据源 。客户端 程序可以通过网络在其他 机器上运行。
- 客户端程序不限于.NET或Windows平台。所有他们 必须要做的访问数据库是呼叫 一个Web服务。
- 数据库连接可以在不同的客户端 程序之间共享。
- 访问数据库可以从 中央位置(Web服务)进行控制和监视。
当然,也有一些安全问题和限制到您的查询的复杂性。
那些谁不知道网络是注定要重塑它在端口80
没有什么“现代”关于HTTP结束了ODBC。只要确保将其包装在SSL和/或VPN中并使用合理的访问控制。
它比HTTP更有效率,它不是为此设计的。至少,HTTP命令会为每个操作增加很多开销。 ODBC将为您带来更好的延迟(这在客户端驱动的数据库设计中至关重要)
我完全同意你的第一句话,但真的不明白你的第二句话。你可能想要重做它。 – 2009-07-01 15:19:35
我的办公室里有类似的东西。他们有很多VB.NET应用程序打到本地数据库的机器(经常会遇到太多未使用的连接)以及一些通过SSH/SSL隧道与外部数据库联系的Web服务。
除非隧道出现故障,否则外部数据库并没有太多问题。你也可以建立一个VPN。
如果您有兴趣使用AJAX/JSON/REST技术与数据库进行通信,则可以使用抽象层,如DBSlayer。
使用TypeIV“直接”数据库驱动程序(如C#的System.Data.SqlClient命名空间或Java的JDBC驱动程序)的效率比通过ODBC层高2-3倍(性能更好)。
我会避免ODBC,因为它的速度较慢,我认为它不是那么容易。
- 1. 如何通过互联网定期更新SQLlite数据库?
- 2. 如何通过互联网更新数据库文件?
- 3. 通过互联网连接每天更新应用数据库
- 4. 数据库,通过互联网
- 5. 通过Excel更新ODBC数据库
- 6. 通过互联网更新应用程序的最佳方法?
- 7. 通过互联网传输数据最简单的方法,Python
- 8. 通过互联网进行数据传输
- 9. 如何通过互联网远程发送数据更新到托管的MySQL数据库?
- 10. 通过互联网的实时数据
- 11. Python:与Oracle数据库进行交互而不使用ODBC
- 12. 如何通过互联网从SQL数据库获取数据
- 13. 从Android上通过互联网从数据库检索数据
- 14. 通过互联网同步SQL数据
- 15. 通过互联网
- 16. 通过互联网
- 17. 通过互联网
- 18. 通过互联网
- 19. 管理数据库更新
- 20. 互联网连接管理?
- 21. HttpClient/WebClient - 通过代理与网站进行交互的问题
- 22. 从互联网资源更新ContentProvider的基础SQLite数据库
- 23. 通过互联网更新MSI安装的最佳方法是什么?
- 24. 通过Access中的ODBC链接表更新SQLite数据库
- 25. 以安全的方式通过互联网发送数据
- 26. 通过互联网交换数据的最佳方式
- 27. 如何通过互联网获取地理数据?
- 28. 如何通过互联网访问数据库(+ Ionic和PouchDB)
- 29. 远程数据库访问任何通过互联网
- 30. 通过互联网连接SQL部署数据库
+1为“妥善保护”的网站svc。 @Jay - 最新的WSE是一个开始的好地方 – 2009-07-01 14:45:20