How to retrieve a lost SQL Server Reporting Services 2005 RDL report file from a database if the source code has been lost
This is achieved using a c# application
- First thing to do is locate the Image column in the Catalog table in the report SQL Server database, you can look up the specific row using the itemid
- Then the byte array returned can be converted into a string using the code below:
AppSettingsReader config = new AppSettingsReader(); string dbConnection = config.GetValue("DB", typeof(string)).ToString(); SqlConnection conn = new SqlConnection(dbConnection); conn.Open(); SqlCommand cmd = new SqlCommand("select content from dbo.Catalog where itemid = '70F31BA8-B6C8-4322-BB9E-89C82D2E60EC'", conn); cmd.CommandType = CommandType.Text; try { SqlDataAdapter adapter = new SqlDataAdapter(cmd); DataSet dataset = new DataSet(); adapter.Fill(dataset); using (DataTable dt = dataset.Tables["table") { foreach (DataRow row in dt.Rows) { byte[ data = (byte[)row["content"; textBox1.Text = System.Text.Encoding.ASCII.GetString(data); } } } catch (Exception ex) { MessageBox.Show(ex.Message); }
Tags:
C#