1

WordPress のローカル インスタンスを実行している WampServer と、ネイティブ モードで実行している SSRS があります。

MySQL データベースにクエリを実行するレポートを作成しましたが、Visual Studio 内で問題なく機能し、実行されます。

ただし、起動すると、まず ODBC 共有データ ソースに次のような問題がありました。

Name of shared data source: localhost.rds  
ODBC Connection string: Dsn=localhostuserDSN

その DSN は (ご想像のとおり) ユーザー DSN であり、MySQL ODBC 5.3 Unicode ドライバーを使用します。次のように構成されています。

TCP/IP server: localhost
Port: 3306
User: root
Password: <blank>
Database: wp

テストすると、接続は成功し、レポートは正常に機能します。

ただし、デプロイすると、次のエラーが発生しました。

ERROR [IM002] [Microsoft][ODBC Driver Manager] Data source name not found and no default driver specified

多くの調査と髪の毛を引っ張った後、データソース接続文字列を次のように変更すると...

Dsn=localhostUserDSN;Driver=MySQL ODBC 5.3 Unicode Driver

...これも機能し、少なくとも、デプロイ後のレポートのデータ ソース構成画面で接続が成功します。しかし、ついに森から抜け出したと思ったとき、レポートを実行すると、次のエラー メッセージが表示されます。

ERROR [3D000] [MySQL][ODBC 5.3(w) Driver][mysqld-5.7.9]No database selected

問題は、データベースを指定できないか、少なくとも方法がわからないということです。

接続文字列を次のように変更しようとすると...

Dsn=localhostUserDSN;Driver=MySQL ODBC 5.3 Unicode Driver;database=wp

...「テスト」ボタンを押す前に、(空白の)パスワードが無効であると表示されます。

Visual Studio のクエリに 'USE [wp]' を付けると、突然抗議します。

ストアド プロシージャに入れることで回避できるのではないかと考えましたが、データは MySQL データベースから直接クエリされているため、それもできません。

(これを試みる前に、MySQL db を SQL db に同期/変換しようとしましたが、データ変換で問題が発生し続けました。)

パーミッションの問題かもしれないと思って、実行してみました...

GRANT ALL ON [wp] TO root@localhost;

...と...

GRANT ALL PRIVILEGES ON [wp] TO root@localhost;

SSMSで、しかしどちらの場合でも、それは言います:

Cannot find the object 'wp', because it does not exist or you do not have permission.

ローカル マシンの管理者は私だけです。SQL をインストールしましたが、Windows 認証を使用しているため、アクセス許可がない理由がわかりません。構文の問題であると想定する必要があります。

ここのどこかで誰かが「[wp].*」を提案しているのを見ましたが、それも好きではありません。

私は文字通り一日中これに取り組んできましたが、私は最後の最後にいるので、建設的なフィードバックがあれば大歓迎です!

4

1 に答える 1