Asp中的MSSQL数据库访问:driver={SQL Server};与Provider = Sqloledb;的区别
打工作开始(2004年下半年),Asp能见到的两个数据库连接就是driver={SQL Server};或者Provider = Sqloledb;,它们都是用来连接MSSQL数据库的,一直没搞清楚它们的区别,反正程序中数据访问出问题,在排除一些常规因素后,把driver={SQL Server} 改成 Provider=SQLOLEDB 问题就奇迹般的解决了(也有可能是把后者改成前者,不过记忆里好象找不到). 有了ADO.NET更是很少再因为连接字符串问题而伤脑了,维护.net1.0跟.net2.0在数据库连接上(MSSQL)根本没什么区别.
不过最近碰到了一个asp程序(即使在今天,2009年)asp做的网站还是很普遍的, 原来系统采用的是ODBC提供程序(注意ODBC提供程序其本质是一个OLEDB,ODBC驱动跟ODBC提供程序是两个不同的概念),但是奇怪的是这个东西放到服务器上几乎远行不了,折腾半天后只能将ODBC提供改成SqloleDB提供,问题居然解决了.
今天又分别测试了下这两个不同的连接,居然都又可以正常使用,迷惑中了....
下面是关于ADO,OLEDB,sqlOledb,ODBC的一些说明,是这两天收集到的资料:
=======================================
可以看到,如果是ASP程序那基本上你用的就是ADO了,而ADO使用的就是OLEDB,你无法在VB,或asp中直接使用OLEDB,跟ODBC, 即使在C,C++中访问数据库的最好选择也是ADO,而不是直接操作,OleDB或ODBC, 既然我们使用的是Asp,而Asp中只能用ADO,那么ODBC的连接是什么呢? 在Asp中说的ODBC,其实指ODBC提供程序,其本质是一个OLEDB provider,通过这个provider我们访问数据库提供的ODBC接口(驱动),而ODBC接口再操作数据库. 这样跟直接使用sqlOLEDB相比其实是多了一层出来,看下图:
到这里,其实想说明的是,在ASP中我们说到ODBC其实指ODBC提供程序,更准确的说是,MS提供的ODBC提供程序.
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· .NET周刊【3月第1期 2025-03-02】
· 分享 3 个 .NET 开源的文件压缩处理库,助力快速实现文件压缩解压功能!
· [AI/GPT/综述] AI Agent的设计模式综述