用户在Windows 7中知道Vb6 ADODC登录失败

时间:2013-03-27 16:11:25

标签: sql-server windows-7 vb6

我有一个vb6项目,其中包含一个带有Apex TruedbGrid 6 Oledb数据源的表单,该数据源在同一表单上具有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位?

2 个答案:

答案 0 :(得分:1)

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

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

答案 1 :(得分:0)

如果你有一个带尾随空格的密码,就会发生bug report。他们的建议是:

  

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

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