1

次のコードを使用してVBAでSQLに接続し、タイトルでエラーが発生しています

 ' Create a connection object.
    Dim cnPubs As ADODB.Connection
    Set cnPubs = New ADODB.Connection

    ' Provide the connection string.
    Dim dbms As String
    Dim strConn As String

   ' Specify the OLE DB provider.
    cnPubs.Provider = "SQLNCLI"

    'Set SQLOLEDB connection properties.
    cnPubs.Properties("Data Source").Value = Worksheets(1).Range("B3")
    cnPubs.Properties("Initial Catalog").Value = Worksheets(1).Range("B4")

    ' Windows NT authentication.
    cnPubs.Properties("Integrated Security").Value = "SSPI"

    'Now open the connection.
    cnPubs.Open 

ユーザー名とパスワードを指定できるため、以前は SQL 認証を使用していましたが、問題はありませんでした。今、Windows 認証を使用する必要があり、エラーが発生しています。

問題は、SQL ログインで Windows 認証を選択したときのユーザー名の自動入力にあると思います。SQL ログイン ページとの相互参照 サーバーの種類: データベース エンジン サーバー名: サーバー\データベース 認証: Windows 認証 ロックされた選択: ユーザー名: NT.COMPANY.COM\ユーザー名 パスワード:

Server\Database にログインする方法を知っている人はいますか?

4

1 に答える 1

1

発生しているエラーは、次の 2 つのいずれかが原因である可能性があります。

  1. 開こうとしているデータベースは存在しません
  2. 使用しているアカウントには、データベースへのアクセスが許可されていません

データベースへの接続は SQL 認証で機能すると言っているため、おそらく 2 で実行されています。これを修正するには、そのデータベースへのアクセスを Windows ログインに許可する必要があります。

于 2013-04-14T19:23:50.980 に答える