How to add datasource to the code in ssrs? - sql

When you create a shared data source,it puts this in the code of a report:
<DataSources>
<DataSource Name="KISdfgdfgQL1">
<DataSourceReference>KISdfgdfgQL1</DataSourceReference>
<rd:SecurityType>None</rd:SecurityType>
<rd:DataSourceID>45ad295c-cc2f-438sdfsdf3833230</rd:DataSourceID>
</DataSource>
</DataSources>
I just created a new datasource, and want to use it inside an existing report.
When I tried to deploy the solution I am getting this message:
Error 1 [rsInvalidDataSourceReference] The dataset ‘Community’ refers to the data source “my_new_datasource”, which does not exist.
I did indeed create the new datsource, however, it did not create the tags for it inside the code:
<rd security type...
< datasource id...
How can I force SSRS to use this new datasource that I've created?
im using vs 2010

Generally when you deploy to an SSRS server with a Shared Data Source I find that if you reference something that has yet to be deployed due to a change it will bomb. If you change an existing Shared Data Source it may bomb as the default behavior for SSRS Deployment is to NOT overwrite datasources. Even if you have the shared Datasource already existing. I am not certain but this could be due to the naming of the 'alias' of your shared data source being different or simply any changes may change the GUID of the datasource. You can fix this manually generally by:
Open up the report on SSRS Server hosting the report. (Even if it bombs) Generally it is somewhere like http:// (server)/(Reports)/(path to report).
You can see right above the report parameters or view top a hyperlink with that report name , click it
You now have a management screen. Click 'Data Sources'
If you have a shared Data source a radio button labeled 'A shared data source' will be highlighted. (You may have one or many of these)
If your datasource is not working click to it manually by hitting 'Browse'. Generally the default deployment is under 'Data Sources' off of the root of the SSRS Site.
Once you get the correct data source click ok.
DO NOT FORGET to hit apply in the next window when you get back to 'Data Sources' screen.
(OPTIONAL) you can hit test if your datasource has stored credentials.
If this does not work I would suggest redeploying the shared data source if this is not a production environment and it will not harm anything. Getting SSRS servers to play nice with shared data sources and shared data sets when you make changes to them is sometimes easy but often a minor change makes either the new report or the existing ones get mad. My general rule is get your shared data sources/sets correct and do not change them ever. When you add a source control to the mix it gets even worse.

Related

Lightswitch lost data provider for data source connection

I have an odd situation on a VS upgrade from 2013 > 2015 outside of runtime.
App Type: MS Lightswitch HTML Client
DB Type: Oracle
Framework: 4.5
Story: I upgraded VS and replaced OPD.Net to the 2015 version. Works fine.
Then I converted my application. There were a lot of things to fix, but most were pretty easily remedied. I tested the application and it works as expected so I published to test server and everything checks out. Success! So I thought.
I want to continue developing the site. As I make db changes, they need to be reconciled to the intrinsic db in my project.
After clicking 'Update Database' I see this. So far so good.
What's expected is that after I hit 'Finish', all changes to the selected table should pull in to the lsml files. But this is what I get.
I've read a few places like The given key was not present in the dictionary, what key? [closed] but these all look like runtime remediations.
If I go back to the update screen and hit 'Previous', I get this.
I sifted through every freakin lsml file in text editor looking for where the provider is assigned. No luck. I also created a new proj to compare, nothing stood out. I also tried adding another data source which works fine. So ODP.net is not the issue. I am lost on what to do now. I searched all over the site, Google, for every error message with various tags. At this point I reach out to you, or anyone that may know what this is about.
Thanks ahead of time!
Note for future users upgrading a VS LS project with Oracle db.
Since a new version ODP.Net is required (in my case 2015), the provider name is going to change. To ensure LS knows the new provider, the data source lsml file needs to be updated. In my case I used GIT to help out. This is how I resolved it.
Steps:
After converting your project and replacing ODP.net to the current version.
Create a new data source using the new provider.
Save the project and re-open. This will cause lightswitch to recompile.
Open File Explorer and navigatye to the ProjectName.server folder. In a text editor (I used notepad) open the lsml files under ProjectName.server and there should be two lsml files (1 for the pre-existing and another for the new) or more if you have multiple sources.
Copy the connection properties of the new datasource to a new temp file on your desktop.
Roll back the entire solution using GIT or other source control.
Use text editor to open the lsml file for the original data source.
Update the GUID for DataProviderName with the values from the temp file in step 4.
Note: The connection string GUID should be left alone as it should match your GUID in the web.config file.
<DataService.ConnectionProperties>
<ConnectionProperty
Name="DataProviderName"
Value="9d8fdbb9-xxxx-4787-xxxx-49831d34ad4b" />
<ConnectionProperty
Name="ProviderInvariantName"
Value="Oracle.ManagedDataAccess.Client" />
<ConnectionProperty
Name="ConnectionStringGuid"
Value="36e67aca-xxxx-41a7-xxxx-a4546761b30d" />
<ConnectionProperty
Name="ProviderManifestToken"
Value="12.1" />
</DataService.ConnectionProperties>
Finally reload project and the changes should take effect allowing you to once again update your data source.
Thanks

SharePoint Integrated Reports missing drop down to manage data sources

I have installed and configured SSRS using SharePoint integrated deployment mode and have been able to successfully run a report from SharePoint. I created a custom deployment application that will upload all reports and datasets as well as create all data sources and make the proper connections between them when necessary.
I have one report that failed and I need to manually mess with the reports connection to a data source but I found that the drop down does not contain the options to let me manage its shared data sources (see example below).
In this image you can see the option that I am missing. Please excuse the colors, this is the best image I could find online in a pinch.
This is only happening in one environment so there must be a configuration change I am not thinking of to show these options. Here are the things I have already checked:
The account I am using is in the sites Owners group and has full control of everything, including the report file.
The item is being uploaded as a Document content type for some reason, but I edited properties and changed that to Report Builder Report content type.
The Report Server Integration site collection feature has been activated.
All of the Reporting Service content types have been added to the list.
I would revert to deployment from BIDS to debug this issue. It will perform some validation during that process and possibly return meaningful errors.
So this turned out to be caused by one of our customizations. We had an old custom javascript function that was named the same as a SharePoint javascript function that has something to do with those drop down actions. Hope this helps someone else.

SP2010 Client Object Model: Uploading File to Drop Off Library Doesn't Apply Content Organizer Rules

I am currently developing a service using the SharePoint 2010 Client Object Model to programmatically upload Excel worksheets to a Drop Off Library and then set the properties on the file. This process is working well. However, the Drop Off Library is governed by Content Organizer Rules that aren't being applied to the uploaded file. I have examined every property I thought I could have missed:
ContentTypeId is being properly set
_ModerationStatus is being set to 0
The two properties required to invoke the rule are being set to valid values
Update is being called on the ListItem
The file is checked in after the ListItem is updated
The list doesn't have minor versioning enabled so I don't make any calls to publish.
What's most frustrating is that if I edit the document properties using the Web UI and check it back in without making any changes, the file is moved to its final location. What might I have overlooked that is preventing Content Organizer Rules from being applied to newly uploaded files when using SP2010 COM?
The ultimate answer to this question turned out to be that everything was indeed being set correctly. However, one cannot force the evaluation of content management rules programmatically. The information I required was provided by a post from Steve Curran on this MSDN thread.
In SharePoint 2010 Central Administration under the "Monitoring" section there is a control panel for "Timer Jobs" that includes an item to "Review job definitions." On this panel, there should be a job named "Content Organizer Processing." This is a nightly task that will run and clean up content according to the rules you have established in your site. After uploading a file to the drop off library programmatically, you will likely find that hitting the "Run Now" button for this job will cause the file to be moved to its final destination if the properties are set correctly.
The solution was to change the frequency of this job under the Recurring Schedule section from a nightly process to one that is executed every 15 minutes (or whatever interval you determine will work best).
A word of caution: Be certain to note that if you send automated e-mail to the site administrator or a mailing list when files are left in the drop off library that do not have their properties set correctly, these will start arriving with the same frequency as the job's execution.
This article may help.
Basically, it does not appear to be supported in the 2010 COM so you have to work around it, unfortunately.

Infopath data connection to sharepoint: how to avoid hard coded list id?

I've created a infopath 2010 form with a connection to a SP list. This connection allows me to populate a drop down list. This is working as expected if I work on an existing site.
Now I want to publish this form as a task form of a workflow feature. the workflow is part of a site template that also defines some list instances. As list instances have new IDs each time they are created, the form data connection won't work (listID and spweb absolute url are hard coded in the data connection in the xsf file).
Is there a clean way to allow me to populate a DDL in infopath without the actual list id ?
In fact, can I bind to "lists/mylist" instead of {myguid} ?
thx
(angry against Microsoft for using guids everywhere without the ability to control them).
I finally followed this approach :
In my forms, I converted the data sources to datasources shared in the host sp site. This generated for me the udcx files.
Then, I created, in VS 2010, a feature with a module to provision a DataConnection library, holding all this udcx files. In this udcx file, I replaced the GUID with tokens like $listguid$ or $weburl$
I also wrote a feature receiver to replace, after provisioning the module, my tokens with the actual values
quite painful and very disappointed with this big holes in SP development processes

Synchronize 2 SharePoint Libraries on Different Servers

I need to copy or synchronize 2 libraries between 2 different servers. Here are more details:
1- I have an InfoPath form that is submitted to a document library, Lib #1.
2- The InfoPath form is published as a content type and Lib #1 is configured to deal with this content type.
3- The users will have the ability to add new items to Lib #1.
4- At the end of each day, or may be every hour or so, I need to copy the newly created items or sync Lib #1 with another library on a different server.
5- The content type will be available in both servers.
I am new to SharePoint so I appreciate if you can show me some hints on how to achieve that.
Clarification
I don't know which route to take, I am thinking of utilizing any of these (if possible):
1- Replicating Database: Use replication to copy data from one SharePoint database to the other
2- File System: I am not sure if the forms are saved in file system but if they are, I could copy the forms from one server to another.
3- Programatically: I am reading about SharePoint server events. I can program against the List Item Added event and try to copy the item from one server to anther.
4- Built in: May be there is a built in tool that I am not aware of that can help me copy items.
Why do you want to do that ? If the target is entirely different server, forms won't open from there unless you relink the documents and you have same form template deployed on that server.
To do this job, you have two options:
Realtime - Use ItemAdded event handler, to copy the item to target as soon as it is created.
Timer Job - You can create a timer job which will run as per some schedule and copy the items from one library to other.
Reject the DB and file system approach. Accessing DB directly is not supported. And these are not stored on filesystems. SharePoint API is only way. You can use either in Event handler or timer job.