0

Apex TruedbGrid 6同じフォームに ADODC (Ado 6.0 sp6) を持つ Oledb データソースを持つフォームを持つ vb6 プロジェクトがあります。

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 SQL Server の代わりに OLE DB Provider for ODBC Driver を使用するか、末尾にスペースを含むパスワードを作成しないでください。

そうでない場合は、とにかく別のプロバイダーで書き直してみてください。またはグリッドを交換してください。Windows 7 で VB6 を動作させるのに苦労しました。

于 2013-03-27T17:44:16.190 に答える