ssrs 2008 r2を使用してレポートを作成し、レポートビューアを使用してレポートをアプリケーションに表示しました。テストマシンにアプリケーションをデプロイすると、次のようなエラーが表示されます。私は今、これを修正しましたC#配備時にローカルレポートをロードできません
string sqlconnection = "MultipleActiveResultSets=true;Data Source=STN-STNSQLMIR1;Initial Catalog=FORM1TEST;trusted_connection=yes";
SqlConnection connection = new SqlConnection(sqlconnection);
connection.Open();
string sqlcommand = "SELECT DISTINCT f.FormKey AS FormKey, f.WONumber AS WONumber, f.Reference AS Reference, f.[Engineer Name] AS [Engineer Name], f.[Created Date] AS [Created Date], f.Base AS Base, " +
"grid.Gridkey AS Gridkey, grid.Item AS Item, grid.Description AS Description, grid.PartNo AS PartNo, grid.Qty AS Qty, grid.SerialNo AS SerialNo, grid.Status AS Status " +
"FROM Form1Data AS F INNER JOIN datagridviewdata AS grid ON f.[Network Login] = grid.[Network Login] WHERE FormKey = @FormKey AND GridKey = @Gridkey";
SqlCommand command = new SqlCommand(sqlcommand, connection);
string Formkey = File.ReadAllText(@"FormKey.txt");
string Gridkey = File.ReadAllText(@"Grid.txt");
command.Parameters.AddWithValue("@Gridkey", Gridkey.ToString());
command.Parameters.AddWithValue("@FormKey", Formkey.ToString());
SqlDataAdapter da = new SqlDataAdapter(command);
DataSet MainFormData = new DataSet();
da.Fill(MainFormData, "Form1Data");
connection.Close();
LocalReport report = new LocalReport();
reportViewer1.Reset();
reportViewer1.LocalReport.DataSources.Clear();
//reportViewer1.LocalReport.LoadReportDefinition();
reportViewer1.LocalReport.ReportPath = "txt/Form1NoBoxes.rdlc";
reportViewer1.LocalReport.DataSources.Add(new ReportDataSource("MainFormData", MainFormData.Tables["Form1Data"]));
reportViewer1.LocalReport.Refresh();
reportViewer1.RefreshReport();
this.reportViewer1.SetDisplayMode(DisplayMode.PrintLayout);
this.reportViewer1.RefreshReport();
編集:ここでは
は、私が使用しているコードです。指定されたファイルが見つかりませんでした。
ファイルはそのパスにありますか?それがエラーメッセージがあなたに伝えているものです。その場所でrdlcファイルを見つけることができません。 –
ファイルは展開されたときにアプリケーションファイル内に存在する必要があります。 –