投稿者 魔界の仮面弁士  (社会人) 投稿日時 2012/6/11 15:31:36
> ちなみに、頂いた情報を元に見直してみたのですが、状況がかわらないです…。

状況が変わらないという事は、相変わらず
 『'SQLNCLI10.1Persist Security Info=False' プロバイダーは~~登録されていません。』
と表示されるという事でしょうか?

『'SQLNCLI10.1' プロバイダー』や『'SQLNCLI10' プロバイダー』なら分かりますが、
'SQLNCLI10.1Persist Security Info=False' と表示されているいう事は、Provider= 指定時の
セミコロンが抜けているという事なので、接続文字列を見直してみてください。



> ・開発環境では問題なく、ServerPCにあるSQL Serverには接続できています。
(1) Server は x64 ですか? x86 ですか?
64bit 環境の場合は、EXE のコンパイルモードを AnyCPU / x86 ビルドで
切り替えてみて、動作に差異があるかどうかを確認してみてください。

(2) UDL での接続は出来ていますか?
拡張子 .udl の 0 バイトのファイルをデスクトップ上に配置し、
それをダブルクリックして、接続設定を行ってみてください。
([プロバイダー]タブで、"SQL Server Native Client 10.0"を選択します)
もしも UDL での接続テストが成功するのであれば、その *.udl を
メモ帳で開いて、接続文字列の内容を確認してみてください。


>・実行環境のPCでは、エラーメッセージ「プロバイダーはローカルコンピュータに登録されていません。」が出て、接続に失敗します。
(3) SQLNCLI10 が正しくインストールされていないか、利用不可になっている可能性があります。
実行環境に SQL Server Native Client をインストールしてあるかどうかを確認してみてください。
(SQLNCLI10 は、OS 標準部品でも無ければ、VB のランタイムの一部でもありません)


> ・配布は、セットアッププロジェクトを使用してSetup.exeを作成し、それで配布しています。
(3') そのインストーラーは、SQL Server Native Client のインストール機能を有していますか?
sqlncli.msi を使うか、またはそれに相当するマージモジュールを組み込む必要があると思います。


> この中にOLEDBのDLLらしきものは表示されていません。
EXE と同じフォルダに配置して使う類のライブラリではないためでしょう。
OLE DB は通常、Side-by-Side インストールには対応していません。

これは SQL Server Native Client だけではなく、OLE DB Provider for SQL Server の場合も同様です。