0

Windows XPProfessionalSP3ボックスでVisualStudio2008を実行しています。

サーバーはWindows2008R2EnterpriseSP1上にあります

サーバーはネットワーク上にあり、接続文字列で使用されているDNS名とIPアドレスを使用してpingを実行できます。

ObjDa.Fill(dsReturn)ステートメント中に、このエラーが発生します。

使用可能なエラーメッセージはありません。結果コード:DB_E_ERRORSOCCURRED(0x80040E21)。

    Dim strQuery As String = "select * from sys.Tables" 
    Dim strConn As String = "Server=dev.xxxxxxx.vmc;" & _
              "Uid=xxxx;PWD=xxxxx;Database=report1;Integrated Security=False;"

    Dim ObjDa As OleDb.OleDbDataAdapter = New OleDb.OleDbDataAdapter(strQuery, strConn)

    Try
        Dim dsReturn As DataSet = New DataSet
        ObjDa.Fill(dsReturn)
        ObjDa.Dispose()
        Return dsReturn
    Catch ex As Exception
        Dim strError as string = ex.Message()
    End Try

編集


ティムのコメント提案に従って、次の行を使用するようにコードを変更しました

Dim ObjDa As SqlDataAdapter = New SqlDataAdapter(pStrQuery, strConnection)

今、私はこのメッセージを受け取っています

ユーザー'vmc\adam'のログインに失敗しました。

リモートデスクトップ接続を介してそのサーバーに接続し、Windowsクレデンシャルを使用してログインし、SQLManagementStudioを起動します...認証タイプは「VMC\adam」の「Windows認証」であり、入力しませんパスワード。

しかし、接続文字列で同じ資格情報を使用すると、エラーが発生します。アイデア?


編集


接続文字列で次の設定を使用し、ユーザー名とパスワードを削除してWindows認証を有効にすることを提案しているサイトを見つけました。

これは現在機能しています。

integrated security=SSPI;persist security info=False; Trusted_Connection=Yes;
4

1 に答える 1

0

uid / passwordコンボを指定し、統合セキュリティをfalseに設定すると、Windowsログインではなく、SQLサーバーログインを検索しようとします。Windows認証を使用する場合は、接続文字列をこれに変更する必要があります。

Server=dev.xxxxxxx.vmc;Database=report1;Integrated Security=True;
于 2012-09-25T15:52:48.573 に答える