0

了解しました。これは、SELECT権限が拒否されたエラーと、「テーブルに選択権限を付与する必要があります...」というすべての応答を確認するのが難しいことを考えると、特に注意が必要です。ただし、いくつかのアカウントで試してみましたが、そのうちの1つにはdb所有者権限があり、SELECTが機能することを実際に確認できます。

サーバー自体は2008R2で、2つのDBがあります。1つはSQL2000互換モードで実行されており、MFCを使用してそのデータベースに接続すると正常に機能します。

2つ目は2008互換モードで、ログインに使用するユーザーやアクセスしようとするテーブルに関係なく、「オブジェクト'TABLE'、データベース'db'、スキーマ'dbo'でSELECT権限が拒否されました。カーソルが宣言されていません」

使用している接続文字列は次のとおりです。

m_TABLENAME.OpenEx(_T("Driver={SQL Server};Server=0.0.0.0\\instance;Database=db;User=user;Password=password;"), CDatabase::noOdbcDialog)

これはVisualStudio2010を使用しており、開発ステーションはWindows XPですが、実行可能ファイルもWin7マシンにコピーし、同じエラーを受け取りました。

4

1 に答える 1

0

接続文字列の問題でした。「ユーザー」と「パスワード」は「uid」と「pwd」である必要があります。

 "Driver={SQL Server};Server=0.0.0.0\\instance;Database=db;uid=user;pwd=password;"
于 2012-05-16T16:21:11.660 に答える