0

Windows Server 2003 で実行されている Classic ASP サイトを Windows Server 2008 に転送しましたが、突然、以下のコードが機能しなくなりました。

Const connStr_FC08 = "Provider=SQLNCLI10;Server=DS-47500;Database=TestDB;Uid=TestLogin;Pwd=test;Network=dbmssocn;"

Function connDB(OpenDB)
    DIM conn
    SET conn = Server.CreateObject("ADODB.Connection")
    conn.open = connStr_FC08
    If OpenDB = "Y" Then conn.open
    connDB = conn
End Function

dim cn, cmd
cn = connDB("Y")
response.Write(cn.state)

これにより、以下のエラーが返されます

Microsoft VBScript runtime error '800a01a8' 

Object required: 'Provider=SQLNCLI10.1'

これは以下の行で発生します

response.write(cn.state)

ありがとうクリス

4

3 に答える 3

2

あなたが投稿したコードには、いくつかの構文の問題がある可能性があります。

    ...
    conn.open = connStr_FC08
    ...
    connDB = conn
...
cn = connDB("Y")

次のように更新する必要がありますか?

    ...
    conn.ConnectionString = connStr_FC08
    ...
    Set connDB = conn
...
Set cn = connDB("Y")
于 2008-11-22T02:10:52.380 に答える
0

関数から接続を開いてインラインに入れると、エラーは発生せず、機能します。

しかし、私のサイト全体がこの関数を使用して機能するため、a)コードを書き直す必要がなく、b)以前は機能しなかった理由がわかりません。

于 2008-11-19T19:15:00.567 に答える
0

その SQL プロバイダーが正しくインストールされていますか?

その関数を単純な VBScript スクリプトに入れ、ページを変更せずにテストできます。

于 2008-11-19T18:05:48.787 に答える