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].*」を提案しているのを見ましたが、それも好きではありません。
私は文字通り一日中これに取り組んできましたが、私は最後の最後にいるので、建設的なフィードバックがあれば大歓迎です!