Issues using HTTP Connection Manager to run SSRS reports from SSIS
In my package, I have a HTTP Connection Manager called "ReportServer". And I have two variables called "ReportURL" and "ReportFile". "ReportURL" is the URL for the report. I won't get into the details of this
URL because I don't think this is the issue. "ReportFile" is the complete path and name of the output file I want to generate from "ReportURL".
With these things in place, I have a script component that that looks like this.
Public Sub Main()
'Connect to http conn mgr
Dim httpConn As ConnectionManager = Dts.Connections("ReportServer")
Dim clientConn As HttpClientConnection = New HttpClientConnection(httpConn.AcquireConnection(Nothing))
'file name with path
Dim ReportFile As String = Dts.Variables("ReportFile").Value.ToString
'report url
Dim ReportURL As String = Dts.Variables("ReportURL").Value.ToString
clientConn.ServerURL = ReportURL
'Download PDFReport
clientConn.DownloadFile(ReportFile, True)
Dts.TaskResult = ScriptResults.Success
End Sub
I don't know too much about the inner workings of the above script. It's from a template I copied from somewhere and it's been working fine.
But, today all of a sudden, it started a mysterious behavior. Let me see if I can describe it to see if this sounds familiar to anyone.
For some reason, a run of this package failed at time T1, running with a certain value of "ReportURL" and "ReportFile". Now everytime I try to fun the package with the same "ReportURL" and "ReportFile", it fails because
it tries to write out two files with the same name, "ReportFile", one from the current one and another from the failed one at time T1. It looks like somehow, the connection is still open from the failed one in time T1 and it won't go away.... does
this sound like anything? Can you understand the problem I am describing?
May it be that this post is NOT SSIS related?
Arthur My Blog
Similar Messages
-
How to run and email a report from SSIS
Hi guys
I need to set up an SSIS package that will run a standard report and email the results.
I have sorted out the email side of the job, but need to know if/how I can run BPC reports from SSIS.
Has anyone done anything similar, or have any tips/pointers?
Thanks
CraigHi Craig,
I have never done this, but I doubt this is something possible in a standard way, or if it's feasable, could be very difficult to set up.
In fact, BPC works over Webservices, and it should probably be possible to use an ActiveX task inside our SSIS package and code something in VB there, referencing some API...
In any case, why don't you use the Offline Distribution Wizard for that? It's doing exactly what you're expecting.
Kind Regards,
Patrick -
Parallel Script Tasks Using Same Connection Manager are Corrupted
We're seeing a bizarre issues in our SSIS package. We are using an HTTP connection manager in multiple script tasks running in parallel and the connections seem to be getting mismatched. Here's the basic flow.
We have 6 containers that run in parallel. Each container does the exact same work (they are copy/pasted) except we change the value of a variable representing the report to generate that is scoped to each container. The container runs a query
(using a SQL connection manager defined in the package designer) and then uses a foreach container to enumerate the rows. The variables inside the foreach container are scoped to it so we don't have a scoping issue. Within the loop we write
the variable values to a log table, use a script task to generate an SSRS report and then write all the data and the report to an external system. Everything is working fine except for the generation of the report.
Within the report script block we acquire a connection to a HTTP connection manager that is defined in the package (just like the SQL connection manager). We then create a new HttpClientConnection with it and update the URL to include the necessary
parameters that SSRS needs to generate the report. We then download the results and return it back to the container. Here's the basic code we use
var httpConn = Dts.Connections["ReportServerUrl"];
var clientConn = new HttpClientConnection(httpConn.AcquireConnection(null));
var uri = new UriBuilder(clientConn.ServerURL) { Query = reportQueryInfo };
clientConn.ServerURL = uri.Uri.ToString();
clientConn.DownloadData();
The issue we are seeing is that when 2 of the scripts run at the same time the ServerURLs are getting cross wired such that we see 2 of the same report being requested rather than 1 of each type that we had requested (based upon the SSRS execution logs).
It's almost like we are getting a shared HTTP client connection. Provided the scripts don't run at the same time everything works correctly. We are confident our variables are set correctly because we are storing them both before and after in external
tables and they are always correct. The URL calculation logic is also correct because this problem only occurs when 2 requests are sent in parallel.
What am I missing here?
Michael Taylor
http://blogs.msmvps.com/p3netThank you for the feedback. Before I go to Connect I'd like to provide some more info that may provide a better idea of what the problem is.
We broke things down trying to replicate the issue and it isn't a conn mgr problem after all I believe. To clarify our package, we have 4 containers that execute the same logic (they were copy/pasted) except for the variable values that we set. The
containers are not linked together so they run in parallel. Each container executes a query using the ADO.NET conn mgr. A foreach loop captures the value for the current row and then calls SSRS using a script block, forwards the report onto an external
resource and then updates a table indicating the row has been processed. The only difference between them is the parameter we pass to the query and the value of the variables (that are scoped to the container or foreach loop).
The problem we have found is that the very first time through the foreach loop ALL containers are using the same row (from the first container's query). Second and subsequent rows are fine. We initially thought the queries were fine because of
our update at the end of the foreach loop but it is now clear that isn't the case.
We saw this problem when we moved our package to production. We went back to Dev and was able to replicate it as well. It happens every time and it is always the same row when given the same input set. We started eliminating containers
and we found it only happens when you get to 3 containers or more. 2 containers had no problems.
I'll try to replicate it on a simpler solution but any thoughts on whether there is a race condition or something in SSIS would be helpful. -
How to specify finite simulation stop time in VI generated using SIT connection manager
Hello,
I have a SIMULINK model which I want to run on a desktop ETS. I'm following this procedure:
1. Convert the SIMULINK model in a .DLL using RTW build in Matlab. The target of this build is nidll.tlc.
2. Create a host VI with required indicators and map the parameters using SIT connection manager.
3. Configure the DAQ (and then SIT connection manager generated the driver and IO files for me.)
4. Using LV project, run the driver on the desktop ETS and host VI on the host machine.
The code is working fine, without any error.
My question is this: Since in the driver VI, the simulation time is set to -1, which implies "continuous", the simulation goes on until I hit the stop button on the host VI.
I tried changing this default value to some other value. The simulation then does run for the defined amount of time but then I'm getting error 2206.
What is an appropriate way to stop the simulation on the RT target?
Thanks
Gayatri
PS: I'm using LV 8.5, LVRT 8.5, SIT 4.0, Matlab @2007a.The VI in the Driver VI called SIT Initialize Model.vi has an input called time step (sec) (-1: use model time step) which does what you want it to. It doesn't actually affect the time step of the solver used in the built model DLL, just the rate at which the main base rate loop actually runs in real time. In fact, base rate loop period would be a better name for this control. If you set it, you won't alter your model, but you will be able to adjust the rate of the base rate loop.
Simply create a control from this input terminal on your driver VI and fill in an appropriate period in seconds. Make sure to set this value as default in the control so that the Driver VI remembers it.
You will have to take into account that your model will still think it's running at the time step it was compiled at. So your model simulation time and the actual wall clock time won't match up.
Jarrod S.
National Instruments -
I have folder on my server that my ssis package needs to get into. I have an excel file that I am connecting to using Excel Connection Manager. My ssis package is unable to connect to the folder. How do I get this to work. Thank you
Hi RythmMusic,
I am not sure how the folder is protected with username and password, Are you talking about folder is at restricted access and rest it ask you to punch window credential. In that case you need to run the ssis package with account which have access to that
folder or use a proxy account to run under.
If it protected from third party software then it need to decrypted by that third party software only. SSIS won;t be able to help here.
Regards Harsh -
RFC to send an idoc PEXR2002 using HTTP connection to an external server
Hi,
Iam working on RFC to send an idoc PEXR2002 using HTTP connection to an external server. first time iam working on this particular scenario on http connections. please clarify on this and explai me in detail about this.
Points will be rewarded **
Thanks & Regards,
RaviHI Jagruthi,
Have you loaded the metadata into the XI system by using IDX2?
If it is done then try to delete once and do once again.
And also delete the IDoc from IR and reimport the IDoc and activate it once again.
Regards
Goli Sridhar -
Getting error while running SSRS report in SharePoint 2010
Hi,
I am getting below error while running a SSRS reports in SharePoint. Your help will be appreciated
Webpage error details
User Agent: Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.1; WOW64; Trident/4.0; SLCC2; .NET CLR 2.0.50727; .NET CLR 3.5.30729; .NET CLR 3.0.30729; .NET4.0C; .NET4.0E)
Timestamp: Wed, 5 Nov 2014 11:58:42 UTC
Message: Sys.WebForms.PageRequestManagerServerErrorException: An unknown error occurred while processing the request on the server. The status code returned from the server was: 503
Line: 5
Char: 62123
Code: 0
Thanks,
ManjunathHi,
According to your post, my understanding is that you get error while running SSRS reports.
Basically, If the Request Management service is enabled, it manages all incoming requests by evaluating logic rules against the user requests in order to determine what\which action to take and which machine or machines (targets) in the farm should handle
the request.
By default the Request time out value for Request Management service are as follows,
RequestTimeout : 00:01:40
RequestExecutionTimeout : 01:00:00
So the error throws from RM service for those reports who take more than 1 minute to generate the report.
To solve this issue, we can stop the Request Management service.
Or increase the time out
value by making use of following PowerShell script.
$waUrl = "URLofWEbApp"
$wa = Get-SPWebApplication $waUrl
$rmSettings = $wa | Get-SPRequestManagementSettings
$req=$wa.RequestManagementSettings
$timeout2= New-TimeSpan -minutes 5
Sreq.Requesttimeout=$timeout2
$req.update()
For more information:
http://blogs.technet.com/b/sajiths/archive/2014/08/19/ssrs-reports-timed-out-with-39-503-39-error-sharepoint-2013.aspx
Thanks & Regards,
Jason
Jason Guo
TechNet Community Support -
User Was Not Found when trying to run SSRS report!
I'm trying to run SSRS report (Custom Reports) for Dynamics CRM 2011. However, when I try to run the report from the Reporting Manager it errors out "User Was Not Found"!
Here's the complete error log:'
An error has occurred during report processing. (rsProcessingAborted)
Query execution failed for dataset 'DSMain'. (rsErrorExecutingCommand)
Microsoft.Crm.CrmException: An unexpected error occurred. System.ServiceModel.FaultException`1[[Microsoft.Xrm.Sdk.OrganizationServiceFault, Microsoft.Xrm.Sdk, Version=5.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35]]:
User Was Not Found <OrganizationServiceFault xmlns:i="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://schemas.microsoft.com/xrm/2011/Contracts"> <ErrorCode>-2147220969</ErrorCode> <ErrorDetails xmlns:d2p1="http://schemas.datacontract.org/2004/07/System.Collections.Generic">
<KeyValuePairOfstringanyType> <d2p1:key>CallStack</d2p1:key> <d2p1:value xmlns:d4p1="http://www.w3.org/2001/XMLSchema" i:type="d4p1:string"> at Microsoft.Crm.ServerLocatorService.GetCrmUserId(Guid organizationId,
String authenticationInfo) at Microsoft.Crm.Sandbox.SandboxHostSids.IsCallerAllowed(SandboxSdkContext requestContext, String& expectedSidSddlForm, String& callerSidSddlForm) at Microsoft.Crm.Sandbox.SandboxSdkListener.AuthenticateCaller(SandboxCallInfo
callInfo, SandboxSdkContext requestContext, String operation) at Microsoft.Crm.Sandbox.SandboxSdkListener.Execute(SandboxCallInfo callInfo, SandboxSdkContext requestContext, String operation, Byte[] serializedRequest)</d2p1:value> </KeyValuePairOfstringanyType>
</ErrorDetails> <Message>User Was Not Found</Message> <Timestamp>2014-05-09T21:37:02.5487525Z</Timestamp> <InnerFault i:nil="true" /> <TraceText i:nil="true" /> </OrganizationServiceFault>
An unexpected error occurred.
User Was Not FoundHello,
Can you preview the report in Report Builder or Report Designer?
Based on the error message, the issue may related to a invalid user account for the report data source credentials.Please verify the user account is valid and has sufficient permission to access CRM data source.
You can refer to the following blog to troubleshooting CRM custom report rsProcessingAborted error:
http://blog.simpletrees.com/2013/04/mscrm-and-dreaded-rsprocessingaborted.html
Regards,
Fanny Liu
Fanny Liu
TechNet Community Support -
Post Author: bhaveshbusa
CA Forum: Crystal Reports
In the ReportDocument.Load method it tries to connect using the using the connection information embedded in the Report File. When the application calls ReportDocument.Load(reportFileName). This
tries to connect to the database using the connection information embedded in
the "reportFileName". This was only realised on checking the ODBC Trace
Log. The connection itself is not a problem. The problem is that the embedded
connection information is related to OLD production system. And failed
connections had raised some concerns.
Note: I am using
SetDataSource to populate the data for the report. So I don't need the
connection.
Is there any way I
can disable this auto-connect?
Thanks and
regards,
Bhavesh960738 wrote:
I need a help in answering one of the issue encountered last week.
I have created a database link and tried to access the information from a table using the program written in another language. The password provided was incorrect for that user while creating database link. So we expected that,while retrieving the data, Database connection has to be errored out as password provided is incorrrect.
But unfortunately, user account was locked out. When i checked with DBAs they mentioned that it tries to connect 16 ports with in a min of time.we were shocked as it STOPS another scheduled jobs with that user. and affects production badly.
As per the program, it has to connect only one time and yesterday we tried to execute the program in DBAs observation and it errored out as expected. Didn't tried for multiple ports.
Now the question is, WHY the database connection established 16 times last week and caused user account locked. DBAs are unable to answer it. Any EXPERTs opinion on this would greatly appreciated.
I have verified managing ports in oracle documentation, it was mentioned that if one port is busy it will try to connect to another port in the range of ports mentioned during the installtion. DBAs verified ports related file and it was blank. and they are not agreeing with this reason. Please HELP me in finding the correct REASON for this.
is it a NETWORK issue or issue with DATABASE SERVER only?
Thanks
SSP
Edited by: 960738 on Sep 22, 2012 9:13 PMDBLINK is 100% oblivious to the fact any port exists.
DBLINK only contains username, password & TNS Alias.
can you post actual SQL & results? -
To run a report from command line, when using jdbc-odbc bridge
Hi,
How to run a report from command line, when using jdbc-odbc bridge?
Usually with tns, we do by "rwrun module=<> userid=<user>/<passwd>@tns".
with odbc, we do by "rwrun module=<> userid=<user>/<passwd>@odbc:DSN"
Please specify, what is command line arguments for jdbc-odbc bridge driver?
Environment : Oracle 9i Report Builder on WinNT
Database : Sybase
Regards,
RamananHello Ramanan,
Report Builder : connect JDBC Query in Report Builder is to through Connection Dialog in JDBC Query Editor. User can use a Sign on parameter (can use, default : P_JDBCPDS or can create new) to connect to JDBC Data Source. Connection once made will be mentioned and will be reused through out Reports Builder.
JDBC PDS allows user to connect one or more same or different kind of databases.
While running report through runtime or Server, user can pass the sign on parameter(connection string) value, like any other user parameter.
Syntax for connection string : <username>/<password>@databaseURL . The syntax of database part of connection string depend on the type of JDBC Driver used to connect to Data Source while designing the JDBC Query. databaseURL refer to the location of the database and its format depend on the JDBCPDS river selected in design time while creating the JDBC Query.
rwrun eg :
rwrun report=jdbc_odbc.rdf destype=file desname=output.html desformat=html P_JDBCPDS=scott/tiger@database
Server eg :
http://server.com:8888/servlet/RWServlet?server=MyReportServer+report=jdbc_odbc.rdf+destype=cache+desformat=html+P_JDBCPDS=scott/tiger@database
http :
Please see ORACLE_HOME/reports/conf/jdbcpds.conf for more information.
With Regards
Reports Team -
How to use the caseccading parameter in my ssrs report? with some scenioro?
Hi i have a complex report for that i am using the 3/4 parameters name list.
parm1:ProductId
parme2:manafacturer
pram3:productname
so here i will use these 3 paramters in my ssrs report .
so here i will create a casecading parameters using the above 3 parameters.
But here my requirement is..
1)for my user selcction select the paramater1 as ProductId based on the productID parameter the 2 nd 3 paramters
i want to display automatically without user selection
2),Here every productid have a single productName and single manfacturer
and here i dnt need the drop down list of 2 nd 3rd parameter for user selection. i need only the text boxes
4)am alredy tried for this but i will able to see only one value in the user selection of param1.but it would not change for the second selection
5)can you give me some idea hw would i show u 2nd and 3rd parameteer based on 1st paramter value without drop down list for my user seletion of my first parametr1
I guess u understand my requirement.
can you suggest me any help .....for the above requirement.
ThanX!In your case you need to setup parameters like this
1. ProductId
Have a dataset which gives you list of productids. It should return atleast one field which would be the distinct productids from your table.
ie like
SELECT ProductID
FROM ProductTable
assuming ProductID is it Primary key
In report go to parameter properties for ProductId parameter
In Available Values tab choose the option Get values from query
Map the above dataset and choose value field name as ProductId and label also as the same
This will populate param 1 with values
2. Manufacturer
Have a dataset which gives you list of manufacturers. It should return atleast one field which would be the distinct manufacturer from your table.
ie like
SELECT Manufacturer
FROM ManufacturerTable m
WHERE EXISTS (SELECT 1
FROM ProductTable
WHERE ProductId = @ProductId
AND Manufacturer = m.Manufacturer
assuming Manufacturer field has unique values. map @ProductId query parameter to SSRS parameter ProductId you created above
In report go to parameter properties for Manufacturer parameter and map the parameter to dataset as per same sequence of steps before
3. Product
Have a dataset which gives you list of manufacturers. It should return atleast one field which would be the distinct manufacturer from your table.
ie like
SELECT ProductName
FROM ProductTable m
WHERE ProductId = @ProductId
assuming Manufacturer field has unique values. map @ProductId query parameter to SSRS parameter ProductId you created above
In report go to parameter properties for ProductName parameter and map the parameter to dataset as per same sequence of steps before
Now if you run the report the values for Manufacturer and ProductName keeps on changing based on value you chose for productid parameter
Please Mark This As Answer if it solved your issue
Please Mark This As Helpful if it helps to solve your issue
Visakh
My MSDN Page
My Personal Blog
My Facebook Page -
How to Run a Report from Desktop in Oracle 10g without using Web
Hi Friends,
I want to run a report from desktop (report which is developed in oracle report developer 10g), for that i have created shortcut. But when i double click on that shortcut it gives me followig error
"Report name, database connection, and reports server name (unless using local runtime, i.e. reports server call is local) properties must be specified for successful report run"
the path which is defined in the shortcut of report is as follow
D:\DevSuiteHome_1\BIN\rwsxu.exe rcptreg_dt userid/password@ORC
pls help me to sort out the problem.
Thanks & Regards.Hello,
You can use rwrun. Since 9.0.2 , it is no more possible to DISPLAY the output on the screen , but you can generate a file (HTML , PDF , RTF , ..) and then open the file generated.
EX: rwrun report=c:\temp\myrep.rdf destype=file desname=c:\temp\myrep.pdf desformat=pdf userid=scott/tiger@mydb P_1=param1_value ...
Regards -
I am trying to write a SSIS package to auto generate a SSRS PDF. I have tried several threads on the net but all seem to require a web service.
I am using VS2012 and SQL2014
The report accepts one parameter @Licence
can anyone suggest any examples I can look at
Dont ask me .. i dont knowHi Pete,
According to your description, you want to generate a PDF report from SSIS. Assuming that a SSRS report is already created and deployed in the report server, then we can use a Script Task with HTTP Connection Manager to achieve this goal. For more details,
please refer to the following blog:
http://sqlserverrider.wordpress.com/2013/02/15/generate-pdf-report-from-ssis/
Besides, I strongly recommend that you directly generate the PDF file from report server in SSRS. For more information about export reports in SSRS, please see:
http://msdn.microsoft.com/en-IN/library/dd239307.aspx
If there are any other questions, please feel free to ask.
Thanks,
Katherine Xiong
Katherine Xiong
TechNet Community Support -
HspRuntimeException while running the report from Workspace
Hi
When a user is trying to run a report from Workspace, it prompts teh following error:
Failed to sync with user provisioning. Check Planning log for detailscom.hyperion.planning.HspRuntimeException
The report contains 2 grids, 1 pointing to an ASO application, while second pointing to BSO planning application.
I checked in shared services, the user has the admin access to planning application which is used in the report.
I tried the following:
Checked access to planning application for the user
Restarted the planning application services
Where in logs will i be able to find details?
Can anyone suggest some solution?Try option 1 then option2:
Please undertake changes in a test environment. Retest issue and if resolved migrate to other appropriate environments.
Option 1:
Verify NETDELAY and NETRETRYCOUNT are at least 1000 & 1500 respectively.
To set NETDELAY and NETRETRYCOUNT:
1. Open Essbase.cfg located in Essbase\Bin directory.
2. Add the following entries
NETDELAY 1000
NETRETRYCOUNT 1500
Restart Essbase agent (windows service)
Option 2:
Please backup the registry before making any manual modification.
1.) Open the Registry
2.) Navigate to Local Machine\System\CurrentControlSet\Services\TCPIP\Parameters
3.) Add new DWORD Value named TcpTimedWaitDelay, right click and select Modify. Select decimal radio button, type in 30. (The default value of this parameter is 2 minutes. This is how long it will take for a TCP/IP port that was used by the network for a connection to be released and made available again. 30 sec is the minimum allowed by Microsoft)
4.) Add new DWORD Value named MaxUserPort, right click and select Modify. Select decimal radio button, type in 65534. ( The default value is 5000.
This determines the highest port number TCP can assign when an application requests an available user port from the system.
5.) Add new DWORD Value named MaxFreeTcbs, right click and select Modify.
Select decimal radio button, type in 6250. (The default value is 2000. This determines the number of TCP control blocks (TCBs) the system creates to support active connections. Because each connection requires a control block, this value determines how many active connections TCP can support simultaneously. If all control blocks are used and more connection requests arrive, TCP can prematurely release connections in the TIME_WAIT state in order to free a control block for a new connection.)
The above parameters need to be added to the registry on the Planning and Essbase servers. Reboot the servers after the parameters are added. -
Run Crystal Report from URL includes username and password
Hello,
I've downloaded CR 2008, and CR Server 2008 demo's.
I'm trying to use a feature I've used with CR10 enterprise, and XI report server, where I can run a report direct from the URL.
Something like:
HTTP://scada-ho/crystal/enterprise/admin/en/viewrpt.cwr?id=381&init=actx&apsuser=administrator&apspassword=&apsauthtype=secenterprise
or
http://192.168.72.98/businessobjects/enterprise115/infoview/main.aspx?id=1024&init=actx&apssystem=hobprim&apsuser=visy&apspassword=Fillers3&apsauthtype=secenterprise
I've noticed that there were subtle syntax differences between CR10 Enterprise and XI report server in the past, and expect that similar differences exist with CR server 2008.
Could someone show me the syntax for CR Server 2008 to run a report from a URL, and pass the required username and password, without having to go through the infoview logon screenTim,
Thanks for the reply. I admit I did see that thread when I was looking for a solution.
My hesitance is that for a non programmer it looks very difficult, and a lot of settings.
I liked the URL reporting because of its simplicity - one line.
I know that it advertises the username and password, but for our requirement (intranet reporting, LAN separated from IT), its not a big risk.
My further investigations indicate that for CRS 2008 something like the following should work:
http://192.168.207.156/CrystalReports/view.aspx?id=1102&apsuser=administrator&apspassword=admin1&apsauthtype=secEnterprise&init=java
However I get
404 - File or Directory not found.
I'm running on Windows7 with IIS7, so I think it must be an IIS configuration issue
Any Ideas?
Maybe you are looking for
-
Error While canceling a invoice document in MR8M
Dear All, While canceling a MIRO document in MR8M one error is coming as "Inconsistent temporary document number assignment" Message no. F5726. This error is coming now in a production server which has been running from last 6 mon
-
Hi All, I have a requirment that: I need to refresh my selection screen at every time i selected back button. Following fields are maintained in selection screen. PARAMETERS pc_chgno TYPE ZTB1 OBLIGATORY MEMORY ID zbc_change_number. PARAMETERS
-
i had many problems setting this printer (Canon MX7520) with my Mac so i don't want to reset the settings since I got most of them to work now. However, now it seems that whenever i try to AirPrint a document, it wants to print to 4x6 (photo) paper a
-
I've purchased an app. I can find it in my "purchase history". But I can't find it in "purchased". Now I can't redownload it again cause it seems just like I haven't bought it. Somebody help me please.
-
Mixing generic and concrete classes
I am going over the generics tutorial by Gilad Bracha offered by Sun. Something strikes me as wrong Collection c; Collection<Part> k = c; //compile-time unchecked warning Collection<Part> k = (Collection<Part>) c; //compile-time unchecked warningFor