11

接続文字列で使用すると、SQL Server2008R2に接続できProvider=SQLOLEDBます。しかしProvider=SQLNCLI、接続文字列で使用すると接続できません。

ADODB.Connectionエラー「800a0e7a」

プロバイダーが見つかりません。正しくインストールされていない可能性があります。

/test.asp、7行目

内に書かれたコードtest.aspは以下の通りです

<%
    Set cn = Server.CreateObject("ADODB.Connection")

    'Doesn't work
    cn.Open "Provider=SQLNCLI;Server=remoteServer\SQL2008R2;Database=DB;UID=MyUser;PWD=pa55word;"  

    'Works Perfectly
    'cn.Open "Provider=SQLOLEDB;Server=remoteServer\SQL2008R2;Database=DB;UID=MyUser;PWD=pa55word;" 

    cn.CommandTimeout = 900
    cn.Close
    Response.write("dfjslkfsl")
%>

接続しようとしているSQLServer(Windows7のIIS7内の従来のASPページから)は、VPNを使用して接続している別のネットワークの別のサーバーにあります。

ODBCデータソース管理者からSQLServer2008 R2(VPN経由で接続されている)へのSQLネイティブクライアントシステムDSN接続を作成して、SQLネイティブクライアントをテストしました。そして、それは正常に接続されました。

これらのスナップは私のWindows7システムからのものです Appwiz.cplスナップ

IIS7の機能

ここに画像の説明を入力してください

  • Windows 7
  • IIS 7
  • クラシックASPページ(.asp)
4

4 に答える 4

15

プロバイダーを次のように変更してみてくださいsqlncli10

cn.Open "Provider=SQLNCLI10;Server=remoteServer\SQL2008R2;Database=DB;UID=MyUser;PWD=pa55word;"

たぶん、名前はあなたのマシン上で異なっています。:)

于 2011-03-11T19:10:40.090 に答える
4

Visual Studio 2012のみがインストールされているユーザーは、新しくインストールしたシステムでは使用できないため、Provider=SQLNCLI11使用できます。SQLNCLI10

cn.Open "Provider=SQLNCLI11;Server=remoteServer\SQL2008R2;Database=DB;UID=MyUser;PWD=pa55word;"
于 2012-10-11T06:42:55.140 に答える
0

VPNの事実に関連している可能性があります。たぶん、アプリはVPNにアクセスできない別のユーザーとして機能します。

IISで匿名認証をオフにするか、アプリケーションプールIDをWindows 7マシンへのログインに使用するのと同じユーザーにして、問題が解決するかどうかを確認してください。

于 2011-03-07T05:33:37.743 に答える
-2

完全に正常に動作します:

"Provider=SQLNCLI;Server=xxxxxxxx;uid=sa;pwd=xxxxxx;database=xxxxxx;"
于 2015-07-13T10:05:57.030 に答える