Automatic Extract Data From Database, Then Generate A Report && Print It Directly
May 7, 2008
hi lads,
what i need to do for my project are as following:
a mobile user send data via GPRS to SQL server Database. then i need to have a method to detect while a particular table is being inserted. and then extract data from table construct a report dynamiclly. what should i do to achieve this goal? e.g. window application, store procedure or trigger ?
PS : client side is a mobile application developed using MCL. i don't in which way he will send all data to SQL server Database, so what i need to do is to monitor new data inserting.
2) how to auto generate and print report directly after record been inserted into the table ? Do i need to import report web service API ? if yes, which one? or i can use other methods e.g. predefine report control view in my window application, turn off pop-up menu while printing a report(I guess)
thanks
View 2 Replies
ADVERTISEMENT
Apr 17, 2008
Hi All,
can we extract data from a XL file to generate a sql report?
Thanks
View 5 Replies
View Related
Oct 18, 2006
The code below is a class file done in vb.net. The original idea came from reading this forum and some blogs.
To use the code below, you can create a windows application or service.
then create a class file and drop this code in it.
Remeber to reference the 2005 report execution service and also in the program settings include the path to your server.
IE: ReportExecutionService = http://localhost/ReportServer/ReportExecution2005.asmx or whatever your server URL is at.
Setup the public properties for printername (sharenames work fine), Number of copies and Report name.
That is all there is to it. This code is REALLY expandable to add more options.
Please remember to let me kow if you like this.
Imports System
Imports System.Drawing
Imports System.Drawing.Imaging
Imports System.Drawing.Printing
Imports System.IO
Imports System.Web.Services.Protocols
Imports PrintReport.ReportExecution
Imports System.Runtime.InteropServices ' For Marshal.Copy
Namespace PrintReport
Friend Class app
Private m_sPrinterName As String
Private m_sReportName As String
Private m_sNumCopies As Integer
<STAThread()> _
Public Sub Main(ByVal args As String())
Dim pe As PrintMain = New PrintMain()
pe.PrintReport(m_sPrinterName, m_sReportName, m_sNumCopies)
End Sub
Public Property pPrinterName()
Get
Return m_sPrinterName
End Get
Set(ByVal value)
m_sPrinterName = value
End Set
End Property
Public Property pReportName()
Get
Return m_sReportName
End Get
Set(ByVal value)
m_sReportName = value
End Set
End Property
Public Property pNumCopies()
Get
Return m_sNumCopies
End Get
Set(ByVal value)
m_sNumCopies = value
End Set
End Property
End Class
Friend Class PrintMain
Private rs As New ReportExecutionService()
Private m_renderedReport As Byte()()
Private m_delegate As Graphics.EnumerateMetafileProc = Nothing
Private m_currentPageStream As MemoryStream
Private m_metafile As Metafile = Nothing
Private m_numberOfPages As Integer
Private m_currentPrintingPage As Integer
Private m_lastPrintingPage As Integer
Public Sub New()
' Create proxy object and authenticate
rs.Credentials = System.Net.CredentialCache.DefaultCredentials
rs.Url = My.Settings.ReportExecutionService '"http://localhost/ReportServer/ReportExecution2005.asmx"
End Sub
Public Function RenderReport(ByVal reportPath As String) As Byte()()
' Private variables for rendering
Dim deviceInfo As String
Dim format As String = "IMAGE"
Dim firstPage As Byte() = Nothing
Dim encoding As String = ""
Dim mimeType As String = ""
Dim warnings As Warning() = Nothing
Dim reportHistoryParameters As ParameterValue() = Nothing
Dim streamIDs As String() = Nothing
Dim pages As Byte()() = Nothing
Dim historyID As String = Nothing
Dim showHideToggle As String = Nothing
Dim execInfo As New ExecutionInfo
Dim execHeader As New ExecutionHeader()
Dim SessionId As String
Dim extension As String = ""
rs.ExecutionHeaderValue = execHeader
execInfo = rs.LoadReport(reportPath, historyID)
'rs.SetExecutionParameters(parameters, "en-us")
SessionId = rs.ExecutionHeaderValue.ExecutionID
' Build device info based on the start page
deviceInfo = String.Format("<DeviceInfo><OutputFormat>{0}</OutputFormat></DeviceInfo>", "emf")
'Exectute the report and get page count.
Try
' Renders the first page of the report and returns streamIDs for
' subsequent pages
firstPage = rs.Render(format, deviceInfo, extension, encoding, mimeType, warnings, streamIDs)
' The total number of pages of the report is 1 + the streamIDs
m_numberOfPages = streamIDs.Length + 1
pages = New Byte(m_numberOfPages - 1)() {}
' The first page was already rendered
pages(0) = firstPage
Dim pageIndex As Integer = 1
Do While pageIndex < m_numberOfPages
' Build device info based on start page
deviceInfo = String.Format("<DeviceInfo><OutputFormat>{0}</OutputFormat><StartPage>{1}</StartPage></DeviceInfo>", "emf", pageIndex + 1)
pages(pageIndex) = rs.Render(format, deviceInfo, extension, encoding, mimeType, warnings, streamIDs)
pageIndex += 1
Loop
Catch ex As SoapException
'Console.WriteLine(ex.Detail.InnerXml)
Catch ex As Exception
'Console.WriteLine(ex.Message)
Finally
'Console.WriteLine("Number of pages: {0}", pages.Length)
End Try
Return pages
End Function
Public Function PrintReport(ByVal printerName As String, ByVal ReportName As String, Optional ByVal NumCopies As Integer = 0) As Boolean
Me.RenderedReport = Me.RenderReport(ReportName)
Try
' Wait for the report to completely render.
If m_numberOfPages < 1 Then
Return False
End If
Dim printerSettings As PrinterSettings = New PrinterSettings()
printerSettings.MaximumPage = m_numberOfPages
printerSettings.MinimumPage = 1
printerSettings.PrintRange = PrintRange.SomePages
printerSettings.FromPage = 1
printerSettings.ToPage = m_numberOfPages
printerSettings.Copies = NumCopies
printerSettings.PrinterName = printerName
Dim pd As PrintDocument = New PrintDocument()
m_currentPrintingPage = 1
m_lastPrintingPage = m_numberOfPages
pd.PrinterSettings = printerSettings
' Print report
'Console.WriteLine("Printing report...")
AddHandler pd.PrintPage, AddressOf pd_PrintPage
pd.Print()
Catch ex As Exception
'Console.WriteLine(ex.Message)
Finally
' Clean up goes here.
End Try
Return True
End Function
Private Sub pd_PrintPage(ByVal sender As Object, ByVal ev As PrintPageEventArgs)
ev.HasMorePages = False
If m_currentPrintingPage <= m_lastPrintingPage AndAlso MoveToPage(m_currentPrintingPage) Then
' Draw the page
ReportDrawPage(ev.Graphics)
' If the next page is less than or equal to the last page,
' print another page.
If m_currentPrintingPage <= m_lastPrintingPage Then
m_currentPrintingPage += 1
ev.HasMorePages = True
End If
End If
End Sub
' Method to draw the current emf memory stream
Private Sub ReportDrawPage(ByVal g As Graphics)
If Nothing Is m_currentPageStream OrElse 0 = m_currentPageStream.Length OrElse Nothing Is m_metafile Then
Return
End If
SyncLock Me
' Set the metafile delegate.
Dim width As Integer = m_metafile.Width
Dim height As Integer = m_metafile.Height
m_delegate = New Graphics.EnumerateMetafileProc(AddressOf MetafileCallback)
' Draw in the rectangle
Dim destPoint As Point = New Point(0, 0)
g.EnumerateMetafile(m_metafile, destPoint, m_delegate)
' Clean up
m_delegate = Nothing
End SyncLock
End Sub
Private Function MoveToPage(ByVal page As Int32) As Boolean
' Check to make sure that the current page exists in
' the array list
If Nothing Is Me.RenderedReport(m_currentPrintingPage - 1) Then
Return False
End If
' Set current page stream equal to the rendered page
m_currentPageStream = New MemoryStream(Me.RenderedReport(m_currentPrintingPage - 1))
' Set its postion to start.
m_currentPageStream.Position = 0
' Initialize the metafile
If Not Nothing Is m_metafile Then
m_metafile.Dispose()
m_metafile = Nothing
End If
' Load the metafile image for this page
m_metafile = New Metafile(CType(m_currentPageStream, Stream))
Return True
End Function
Private Function MetafileCallback(ByVal recordType As EmfPlusRecordType, ByVal flags As Integer, ByVal dataSize As Integer, ByVal data As IntPtr, ByVal callbackData As PlayRecordCallback) As Boolean
Dim dataArray As Byte() = Nothing
' Dance around unmanaged code.
If data <> IntPtr.Zero Then
' Copy the unmanaged record to a managed byte buffer
' that can be used by PlayRecord.
dataArray = New Byte(dataSize - 1) {}
Marshal.Copy(data, dataArray, 0, dataSize)
End If
' play the record.
m_metafile.PlayRecord(recordType, flags, dataSize, dataArray)
Return True
End Function
Public Property RenderedReport() As Byte()()
Get
Return m_renderedReport
End Get
Set(ByVal value As Byte()())
m_renderedReport = value
End Set
End Property
End Class
end namespace
View 27 Replies
View Related
Jun 13, 2006
Hi everyone,
I have to extract, dayly a list of contacts on a exchange server in a table on our EDW on sql server 2005. Is it possible to get the information directly from a dataflow or i will have to developpe a script task ?
Need help desperatly !!!
View 3 Replies
View Related
Sep 10, 2012
We have a SQL database that uses Active Directory with Windows Authentication. Can users that are members of the Active Directory group that has read/write access to the SQL database create ODBC connections to access the database directly and update the data? They dont have individual logins on the server. They are only members of the Active Directory group that has a login?
View 1 Replies
View Related
Jun 26, 2006
Hi,
I have one problem in my project. Generating the report plz help me.
I have one table called Emp, which consists of fields, empid,tdate,attn,reason.
Emp
----
empid | tdate | attn | reason
2281 6/3/2006 Present null
2282 6/3/2006 Tour Hyderabad
2283 6/3/2006 Present null
2281 6/4/2006 Present null
2282 6/4/2006 Present null
2283 6/4/2006 Tour null
I want to generate a report as given below based on the date submitted by the user.
Frm Date: 6/3/2006 To Date: 6/4/2006
empid Present Tour Absent No.of working days
2281 2 2
2282 1 1 1
2283 1 1 1
Please write the query and reply back to me. ASAP.
Thanx in advance.
View 3 Replies
View Related
Mar 15, 2000
Hello,
This request is for sql7 on nt4.
I am searching for a sp that can generate the entire objects on all my databass in the server. Something like the 'Generate sql scripts' for sql7 but i need it to be capable to run as a scheduled job and automaticly enters in all my databases in the server.
I need to take sql scripts for all my development databases every night. I have something like 80 databases in development on the server.
Thanks
View 1 Replies
View Related
Aug 17, 2007
Please help, i am really really struggling for a logic to handle 100's of reports we have via button click from asp.net webform.
in the button click i am constructing the url :
**************************************************************************************************************
http://localhost/reportserver?/MyReports/StatusReport&UserID=1&ContractID=1&subcode=null
*************************************************************************************************************
I have a table would like to maintain the parameters required for the chosen report:
when the user chooses from list box on the webform for StatusReport, immedeately it fetches the parameters related to Statusreport and gets everything which is stored with a space in between for each parameter, for this report i have 3 parameters:
UserID ContractID subcode
now how can i construct the string based on the above parameters , i am using vb.net as code behind for my webform(asp.net)
please any ideas will help me achieve the logic. please help thank you all very much.
View 4 Replies
View Related
Feb 21, 2008
Hello,
I have requirement to cache report server as soon as data get refreshed in datbase.My database get refreshed every 10 minutes.
I am working in stock and bond domain were data changes very frequently.My user want to see almost live data whenever accessing report in report manager.they also want to cache some data for better performance.Can any one tell me step's to improve performance of reporting services .
Kindly suggest me.
Thanks.
Monika Singh
View 11 Replies
View Related
Jul 20, 2005
Hi,Anybody have an idea of copying data from tables of a database to anotherdatabase. It should be a choice to select all tables, single table orseveral tables.For them knowing Oracle it is possible to do it with 'exp', where you canchoose to script the database with or without data. So I am trying to getalike to MSSQL. The job is to unload data from a database with onestructure to another database with another structure.Thanks in advanceBest regardsTom Frank
View 4 Replies
View Related
May 6, 2015
I am exporting SSRS report to Excel I am aware that excel doesn't show footer , It shows in print preview but my footer has text box which have text disclaimer more than 255 characters, the data getting truncated.
View 3 Replies
View Related
Sep 29, 2014
I'm trying to extract data from our database for the number of phone calls our reps are doing.
In counting the calls I only want to include up to 3 calls to the same customer (field name is CompanyID) per day - anything more than this is ignored.
The query at the moment is something like:
SELECT COUNT(CallID) AS CallCount FROM Sales_Calls WHERE CallDate >= '2014-09-01' AND CallDate <= '2014-09-30' AND RepID = 1
Using MSSQL 2012.
View 13 Replies
View Related
Sep 25, 2007
I have to extract data from 5 different oracle databasee with same schema.This will be scheduled job.Can someone guide me.
View 1 Replies
View Related
Sep 25, 2007
I have to extract data from 5 different oracle databases with same schema.This will be scheduled job.Can someone guide me.
View 1 Replies
View Related
Feb 27, 2007
Hi,
My task is simple, I want to use the execute sql task editor to grab a value from a database in Access and put it in a variable. The connection is via ODBC and the access database is protected by a password.
I've done all the preliminary stuff such as running profiler to make sure that the package is getting the call to the database, setting up the ResultSet to be "single row" in the general tab, mapped the Result Set correctly, but nothing works. I get the same error every time.
This is my sql command:
select count(FingerPrintID) as FingerPrint
from Employee
Result Set is set up like this:
Result Name: FingerPrint ; Variable Name: User:: varDataset
Here is the error I get:
Error: 0xC002F309 at Execute SQL Task, Execute SQL Task: An error occurred while assigning a value to variable "varDataset": "Value does not fall within the expected range.".
My variable is set up as a Int16.
Please help!!!!!
If you could provide step by step example's that would really make my day.
Thanks,
Lawrence
View 7 Replies
View Related
Sep 25, 2007
Please guide me urgently how to extract data in SSIS from 10 identical oracle database into 1 sql server database.
There is a table which list all the 10 databases.
View 2 Replies
View Related
Dec 6, 2007
Hi,
Is possible to get a report directly from excel or I must develop an tools for that?
Fredo
View 4 Replies
View Related
Oct 31, 2006
Good afternoon SQL dudes Does anyone have any experience of extracting data from IBM's UniData (http://en.wikipedia.org/wiki/UniData) (or any post-relational Pick nested relational multi-valued relational database) into a SQL Server?More info here (http://www.rpbourret.com/xml/ProdsXMLEnabled.htm), here (http://www.pick-ware.co.uk/) and here (http://en.wikipedia.org/wiki/Pick_operating_system) I don't (which is why I am asking) but I could imagine it being a right bugger. No need for detailed or technical info - I have no more info at this stage - just wondered if anyone has any similar experience. Super duper, thank you SQL troopers :)
View 2 Replies
View Related
May 5, 2008
Hi all
I am using local reports.(.rdlc files)
My requirement is when the user selects some options in the form and click on Submit buttion,He should get report in PDF format directly.Is it possible?if possible give me some example code.No need to preview in general format.
Help me.
Regards.
View 3 Replies
View Related
Apr 11, 2008
Hi,
My Requirement is to dirctly Print the SSRS Report without using Reportviewer.
If anybody know How to Print Report without using Reportviewer, please let me know asap.
Thanks in advance.
View 2 Replies
View Related
Jul 24, 2015
Why does it take me 4 hours to set up an SSIS package that I can run from a SQL job to extract data from a SQL database to and Excel workbook. Shouldn't this be easy to do with 2 Microsoft products? Writing the query to extract the data takes 10 minutes, the rest of this process should take less than that.
I should be able to create a new job that runs my query (I can actually do that) and saves the data to an Excel workbook. Why can't I do that?
View 3 Replies
View Related
Apr 21, 2008
Hi Everyone,
Am a third year student doing work placement.
Could anyone please give me clues on how to go about extracting data from a LDAP and then into an SQL database?
1 A defined subset of data is to be extracted from GDS on a nightly basis,
2 Then imported into a SQL database for quick & easy retrieval.
3 A web interface is required to present data retrieved from the SQL database.
I will appreciate every assistance.
Regards
Lidiolo
View 6 Replies
View Related
Apr 5, 2007
I have a requirement to export certain data directly in csv format from the link thats in the report interface.
Though i am able to open new window report from the link by passing the needed parameter is there any way that we can directly open the excel from the link in data table in report..
View 1 Replies
View Related
Feb 27, 2008
i have a report that is on a subscription to my team members that i want to be rendered in the actual email that they open up. i do not want them to have to click on the pdf or excel attachment to open it up, i just want the content of the report to be in the email itself in outlook.
is this possible in SSRS 05?
View 3 Replies
View Related
Aug 22, 2007
Hello,
I am trying to get a SSRS 2005 report to print from my Visual Studio 2005 C++ application without using the ReportViewer to preview it first. What I have done is created a dll that I call into when I want to access a certain report and print it. While searching around on the internet I found an MSDN article about printing a report without previewing and it had an example in C# code. So I used that as a guide for my C++ code but I am still having problems with rendering the report properly so it can be printed. When I try to render a report using the "Image" format, my streamid string is empty but the byte array that the render routine returns is not. Here is the code I am using, what could be the problem here?
Note: m_Streams is define elsewhere as
array<String^>^ m_Streams = gcnew array<String^>(10);
void Print::Export(LocalReport^ report)
{
array<Warning^>^ Warn = gcnew array<Warning^>(10);
String^ deviceinfo =
"<DeviceInfo>" +
" <OutputFormat>EMF</OutputFormat>" +
" <PageWidth>8.5in</PageWidth>" +
" <PageHeight>11in</PageHeight>" +
" <MarginTop>0.25in</MarginTop>" +
" <MarginLeft>0.25in</MarginLeft>" +
" <MarginRight>0.25in</MarginRight>" +
" <MarginBottom>0.25in</MarginBottom>" +
"</DeviceInfo>";
String^ mimeType;
String^ enc;
String^ FileExt;
array<Byte>^ bytes;
bytes = report->Render("Image",deviceinfo, mimeType, enc, FileExt, m_Streams,Warn); // m_Streams has a length of
return; // 0 after the Render
}
void Print:: PrintPage(System:: Object^ sender, System:: Drawing:: Printing:: PrintPageEventArgs^ ev)
{
Metafile^ pageImage = gcnew Metafile(m_Streams[m_CurrentPage]);
ev->Graphics->DrawImage(pageImage, ev->PageBounds);
m_CurrentPage++;
ev->HasMorePages = (m_CurrentPage < m_Streams->Length);
return;
}
void Print:rintRpt()
{
String^ printerName = "Default";
if (m_Streams->Length < 0)
return;
PrintDocument^ printDoc = gcnew PrintDocument();
if (!printDoc->PrinterSettings->IsValid) {
return;
}
printDoc->PrintPage += gcnew PrintPageEventHandler(this, &Print:: PrintPage);
printDoc->Print();
return;
}
void Print::Run()
{
LocalReport^ report = gcnew LocalReport();
DataSet^ ds = gcnew DataSet();
LoadData(ds);
report->ReportPath = "c:\bmi\bulrpt\Report1.rdlc";
ReportDataSource^ RDS = gcnew ReportDataSource();
RDS->Name = "DataSet1_Subject";
RDS->Value = ds->Tables["Subject"];
report->DataSources->Add(RDS);
Export(report);
PrintRpt();
return;
}
DataTable^ Print:: LoadData(DataSet^ ds)
{
System:: String ^ConnStr = "SELECT * FROM Subject";
SqlConnection^ conn = gcnew SqlConnection("Data Source=JOE-PC\BMIMSDESERVER; Initial Catalog=stx52013;Integrated Security = TRUE");
SqlCommand^ command = gcnew SqlCommand(ConnStr, conn);
SqlDataAdapter^ adapt = gcnew SqlDataAdapter(command);
adapt->TableMappings->Add("Table", "Subject");
conn->Open();
adapt->Fill(ds);
return ds->Tables["Subject"];
}
View 2 Replies
View Related
Jun 23, 2015
Looking for sample ETL package to extract data from SQL Sever Database and load into Oracle Database using SQL SERVER INTEGRATION SERVICES 2008. The requirement is for full load and incremental load both.
View 5 Replies
View Related
Dec 18, 2007
Hi,
I have a .net application in this application I want to call directly subscription page of a perticular Report through URL.
And i want to hide the header section too.Is it possible
If not how can i provide this feature of subscription in my application
Regards
View 1 Replies
View Related
May 2, 2007
Hi there,
Is there a way to programmatically save a RS results into Excel format using the render method ?
I had read about that capability but I can't seem to find any sample code on how to do it. Is this a parameter that you have to set in the render method ?
Any suggestion or tips are much appreciated !
Thanks !
View 5 Replies
View Related
Oct 2, 2014
I have a MySql Database i need to extract data from based on matching info in a local SQL Server database,
I will ultimately need to cycle through 20 of these MySql databases , but the query below is taking 1 minute and 20 plus seconds...Just for one..
Is there a simple tweak that would speed it up?
USE [CAS]
GO
DECLARE @PhoneDB varchar(max),
@SQL NVARCHAR(MAX);
set @PhoneDB = '[PHONEDB_PHI]';
set @SQL = 'SELECT
[Code]....
View 4 Replies
View Related
Jun 29, 2015
I'm wondering how to print a SSRS report without bringing up a report viewer. Is there way to print(PDF format) the SSRS report in the web application( .net ) directly from the "print" button without bringing up a report viewer?
View 2 Replies
View Related
Jun 16, 2006
SQL server 2005 express reporting problem.
error message:
This feature "remote access to report data sources and/or the report server database" is not supported in this edition of reporting service
I got this error message when I try to connect to database hosted in another PC running SQL server 2000.
Is it true that SQlL server Express can only use Local Database Engine to host the database?
View 5 Replies
View Related
Dec 12, 2007
Hi
I was wondering if it was possible to call reporting server web service directly from my sql server stored procedure. The call that I need to make to reporting web service needs to generate the report in a PDF format.
View 1 Replies
View Related
Jun 15, 2015
I am trying to load the data from one data base to another using the Task->Generate Script->tables (data only). So I saved the script of the data and when tried to run the script to the destination DB, getting the below error when ran the script.
Error: Visual Studio has encountered an exception. This may be caused by an extension.You can get more information by running the application together with the /log parameter on the command line, and then examining the file'C:UsersKK67AppDataRoamingMicrosoftAppEnv10.0ActivityLog.xm'. When tried opening the folder using the above path... don't see anything for AppData folder from that path.
View 2 Replies
View Related