【问题标题】:Windows 7 64 Bit - ODBC32 - Legacy App ProblemWindows 7 64 位 - ODBC32 - 旧版应用程序问题
【发布时间】:2010-03-31 16:46:00
【问题描述】:

StackOverFlowlers 早安,

我有点卡住(真的卡住了)我的组织中的旧应用程序存在问题。

我有一台 Windows 7 Enterprise 64 位机器,安装了 Access 2000 和旧版应用程序(使用 VB 之类的东西构建但较旧)该应用程序使用系统 ODBC 连接到远程服务器上的 SQL 2000 数据库。

我使用 C:\Windows\SysWOW64\odbcad32.exe 应用程序创建了 ODCB,以创建系统 DSN。我没有使用 Windows 7,因为它对旧版应用程序不可见。

我用Access测试了ODBC连接,一切正常,我可以访问远程数据库了。

然后我以管理员身份运行旧版应用程序,该应用程序可以看到 ODBC,但我在凭据验证时遇到错误,并且收到以下错误:

    DIAG [08001] [Microsoft][ODBC SQL Server Driver][Multi-Protocol]SQL Server does not exist or access denied. (17) 

    DIAG [01000] [Microsoft][ODBC SQL Server Driver][Multi-Protocol]ConnectionOpen (Connect()). (53) 

    DIAG [IM006] [Microsoft][ODBC Driver Manager] Driver's SQLSetConnectAttr failed (0) 

我在 ODBC 上使用受信任的连接,以便通过域控制器验证用户。

我认为旧版应用程序没有将凭据发送到 ODBC 或类似的东西。我没有旧版应用程序的源代码来调试连接。

另外,我关闭了防火墙。

有什么想法吗??

提前致谢!

【问题讨论】:

    标签: sql windows-7 odbc legacy


    【解决方案1】:

    当您以管理员身份运行它时,它是您提升的同一个帐户还是第二个帐户?

    尝试在相同的方法下运行 Access 2000,看看它是否仍然可以访问数据库。您还可以检查 SQL 服务器日志以查看应用程序正在尝试以谁身份进行身份验证。这应该可以帮助您确定从哪里开始寻找。

    【讨论】:

    • 您好 Joshua,感谢您的提示,我使用同一个提升帐户。当我在 Access 上执行此操作时,我可以毫无问题地看到数据库。让我检查一下 SQL 日志并检查发生了什么。谢谢!
    • 嗨 Joshua,我在 SQL 数据库上使用 sql profiler,但没有发现与用户验证相关的事务。这发生在哪个数据库中?我应该能够找到我在分析器中遇到的错误吧?
    • 不一定。 SQL 服务器日志将位于实际服务器本身上。默认情况下,它应该将登录失败记录到服务器上的应用程序事件日志中。您可能需要联系 DBA 以获取该信息。
    猜你喜欢
    • 2013-06-06
    • 2011-10-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-03-07
    • 1970-01-01
    • 2011-04-01
    相关资源
    最近更新 更多