什么是“多步OLE DB”错误?

时间:2008-08-24 00:35:22

标签: asp-classic oledb ado

我正在为班加罗尔最好的一款可怕的软件做一些工作。

它主要是用经典的ASP / VbScript编写的,但是“移植”到ASP.NET,尽管大多数代码都是ASPX页面中的经典ASP风格:(

我在尝试连接到本地数据库时收到此消息:

多步OLE DB操作生成错误。检查每个OLE DB状态值(如果可用)。没有工作。

Line 38:    MasterConn = New ADODB.Connection()
Line 39:    MasterConn.connectiontimeout = 10000
Line 40:        MasterConn.Open(strDB)

任何人都知道这个错误意味着什么?它使用此连接字符串连接到我的本地计算机(运行SQLEXPRESS):

PROVIDER=MSDASQL;DRIVER={SQL Server};Server=JONATHAN-PC\SQLEXPRESS\;DATABASE=NetTraining;Integrated Security=true

它最初使用的是哪个连接字符串,我只是在我的数据库中重新命名。

更新

问题是在ADO中使用“集成安全性”。我改为使用用户帐户,它连接得很好。

3 个答案:

答案 0 :(得分:4)

我很久以前在ASP工作时遇到过这种情况。我找到了这篇知识库文章,它帮助了我。我希望它能解决你的问题。

http://support.microsoft.com/kb/269495

如果这不起作用并且所有内容都检出,则可能是您的连接字符串。我接下来会尝试这些步骤:

卸下:

DRIVER={SQL Server};

将提供商编辑为:

Provider=SQLOLEDB;

答案 1 :(得分:0)

作为旁注,connectionstrings.com是一个很棒的网站,因此您无需记住所有连接字符串语法。

答案 2 :(得分:0)

当我尝试通过精彩的经典ASP连接到MySQL数据库时,我遇到了这个问题。上面的解决方案没有直接解决它,但我最终通过更新ODBC驱动程序(从长期的3.51)到最新版本解决了它。然后我可以将驱动程序行保留(并且不添加提供程序位),但我必须相应地更新连接字符串:

Driver={MySQL ODBC 5.1 Driver};

工作得很好。快乐的小伙伴。