数十個のレガシー レポートがあり、その多くは SQL Server ストアド プロシージャをデータ ソースとして使用しています。VB.NET 2010とCR for Visual Studio 2010 version 13.0.2 で構築されたアプリケーションでそれらを使用しようとしています。
ストアド プロシージャに基づいてレポートを実行すると、次のようなエラー メッセージが表示されます。
テーブル「REPORT_SCHEDULEB」が見つかりませんでした
レポートのテーブル定義は次のようになります。
LogOnInfo.ConnectionInfo for REPORT_SCHEDULEB:
Name: "REPORT_SCHEDULEB", Location: "Proc(REPORT_SCHEDULEB;1)"
AllowCustomConnection: False, DBName: myDb, IntegratedSecurity: False
ServerName: myComputer, User: myName, Password: myPassword, Attributes:
Database DLL: crdb_ado.dll
QE_DatabaseName: myDb
QE_DatabaseType: OLE DB (ADO)
Auto Translate: -1
Connect Timeout: 0
Data Source: myComputer
General Timeout: 0
Initial Catalog: myDb
Integrated Security: False
Locale Identifier: 1033
OLE DB Services: -5
Provider: SQLOLEDB
Tag with column collation when possible: 0
Use DSN Default Properties: False
Use Encryption for Data: 0
Owner: dbo
QE_ServerDescription: myComputer
QE_SQLDB: True
SSO Enabled: False
Owner: dbo
Locationフィールドの定義方法に問題があると思いますが、
- レポート エディターでオーバーライドされた修飾テーブル名を変更しようとすると、変更が受け入れられず、
- 何十ものレポートを手作業で編集するよりも、プログラムによる解決策を見つけたいと思っています。
そのため、コードで table.Location 値を設定しようとしましたが、COM 例外がスローされました。あるレベルでは読み取り専用だと思います。
また、ある種のQualifiedNameプロパティを設定する可能性も考えましたが、それを行う方法が見つかりませんでした。
何か案は?
ティア