我有一个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位?
答案 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上运行时遇到了一些麻烦。