0

我有一个带有Apex TruedbGrid 6Oledb 数据源的表单的 vb6 项目,该表单在同一表单上具有 ADODC (Ado 6.0 sp6)。

cn.ConnectionString = "Provider=SQLNCLI.1;Data Source=pc-musica;Initial Catalog=QdE;User ID=sa;Password=*******"

在 Form_Load 中:

Adodc.ConnectionString = cn.ConnectionString
Adodc.RecordSource = "Select Code, Description from Cantine"
Adodc.Refresh

当仅在 Windows 7 上执行最后一条语句Adodc.Refresh时(因为一切都在 Xp 中安静地工作)给了我错误:

Login failed for the user, type: -2147217843 Automation Error.

我检查了连接字符串,当程序使用相同的连接打开记录集并安静运行时也是正确的。

连接在模块中声明。

你认为我可以如何修复 Windows 7 32 位?

4

2 回答 2

1

您应该使用 ; 在字符串上添加属性Persist Security Info=true

发生这种情况是因为在 Windows Vista 或 Windows 7 上有一个新的安全修复程序,这会导致连接字符串出错。

于 2014-09-05T09:58:11.913 回答
0

有一个错误报告表明,如果您的密码带有尾随空格,则可能会发生这种情况。他们的建议是:

要变通解决此问题,请使用 OLE DB Provider for ODBC Driver 而不是 OLE DB Provider for SQL Server,或者不要创建带有尾随空格的密码。

如果不是这样,你可以尝试用不同的提供者重写它。或者更换网格。我在让 VB6 在 Windows 7 上运行时遇到了一些麻烦。

于 2013-03-27T17:44:16.190 回答