Visual Studio 2019, SSIS project.
Whenever I drop a new Destination Assistant into a Data Flow I am required to create a new Connection Manager to our SQL Server instance.
Presently, there are 4 identical Data Connections (except the index appended on the name) and none of them show up in the list of "Select connection managers." TBH this is driving me nuts. It is the same behavior for both Package and Project scoped Connection Managers.
Any ideas? Everything I see everywhere just shows the Database connection managers listed as expected - but they don't show up for me.
Don't use the assistants. Not to be flippant but I don't find that they add any value. I know whether I'm pushing/pulling from a flat file vs OLE DB so why do I want to make clicks here versus just dragging the thing I want onto my palette?
Whenever I start SSIS work on a new machine, I remove the suggested favorites of source/destination assistants and add in what I use day-in and day-out.
Related
We as a company migrated from TFS 2013 to AzureDevops 2019 Server(On-Prem) and had to move old reports to the new report server. To do so we used a powershell script that uses /ReportServer/ReportService2005.asmx web service to create folders and reports. We couldn't do it manually because we have lots of collections and projects under them.
We have realized that the projects created after the migration had problems with the reports. Reports we use include default CMMI reports and some custom ones we have created. Most of these by default uses a SQL system function called [GetProjectNodeInfoFromReportFolder] that is located in warehouse database. This function returns the project guid and project name based on the current path of the report folder. This function uses the table DimTeamProject under the warehouse database and the column 'ReportPath' to determine which report is triggered against.
The problem we have is that the newly created projects after the migration all have NULL values in this ReportPath column, which fails our reports.
I couldn't seem to find where this ReportPath column is being filled upon so I couldn't find the core of the problem.
Based on research I've tried rebuilding the warehouse database in the administration console but it doesn't change anything. I've also checked in the administration console that the Default Report Folder path is set correctly for all the collections.
I've also tried uploading reports manually on the ssrs web portal.
As a side note, when I check the project in the visual studio Team Explorer I cant see the Reports tab. I can for the older projects. So I believe there should be something wrong in the project configuration.
I appreciate any feedback, thanks.
I've fixed the issue by following the steps below:
Connect to the server that devops is installed on.
Open Azure Devops Server Administration Console
Select Application Tier > Team Project Collections
Select the desired collection and click 'Edit Default Folder Collection'
Enter the folder path on the pop up and press OK. In my case it was already set but I was still having the problem mentioned in the question. (/TfsReports/DefaultCollection)
After 2-3 minutes setting the value in the last step, the warehouse db got updated and all the null values got replaced with the correct information.
**NOTE: This process needs to be repeated after a new project is created, otherwise the newly created project will still have a null value on reportpath
Do not seem to be able to find any place in the portal or Report Builder where I can actually edit the connect string & creds.
Report Manager shows the XML, but that really is it.
Disk files (from the looks of it) are no longer present in high versions (using SQL 2016/2017).
Is there a known location anywhere in GUI, or maybe direct edits in the SQL Server repository?
I can't even delete a shared source anymore, only view or test the connection.
If anybody could post a screenshot, it'll be highly appreciated.
EDIT: Just found out - when I create a new Data Source, it's editable; the imported data sources are not.
There are two ways of doing this. You can set the 'overwrite datasource' option in the project properties.
Or, you can got to the report portal , show hidden items in the view menu and there is a folder called "data sources". Open this and you will see all data sources, from there you can edit and save changes. All reports that use that datasource will be affected.
I would like to create new job by copy from existing job and point the new job to another database. I tried to find out the the steps and did not find any suitable steps for this.
One thing I know is: this can be done using "script job as" -> "create to". and then changing the name of the job.
However, is there any other step needs to be taken care? How can I points to a different DB? Can I make my connection string in config by adding two data source[like we can add multiple email with comma separated]?
something like this:
<InitialCatalog>Systest1,Systest2</InitialCatalog>
Do I need to change the SSIS config file?
Please give me some tutorial for this or few steps that may help. Thanks.
You will need to parametrize your connection manager in the package you are running and pass the connection string from the agent job. Then you can have two jobs that run the same package on different databases.
To parametrize the connection manager, right-click on it and select "Parametrize" from the pop-up menu.
I am creating some Load tests using VS2012. I can run the tests using a StorageType of "None", but when I change this to a StorageType of "Database" I get the dreaded error
The load test results database could not be opened. Check that the
load test results database specified by the connect string for your
test controller (or local machine) specifies a database that contains
the load test schema and that is currently available. For more
information, see the Visual Studio help topic 'About the Load Test
Results Store'. The connection error was: An error occurred while
attempting to create the load test results repository schema: To
create the database 'LoadTest2010' your user account must have the
either the SQL Server 'sysadmin' role or both the 'serveradmin' and
'dbcreator' roles
I have created a database on a non local copy of SQL called LoadTest. When I test the connection from the SQL Tracing Connect String dialog I get a success.
I have created a SQL user that has the Server Roles of dbcreator, public, serveradmin and sysadmin. The user has a User Mapping to the LoadTest2010 database that was created from the loadtestresultsrepository.sql in the VS2012 IDE directory. On the database the user has the Database role memberships db_accessadmin, db_datareader, db_datawriter, db_owner.
In the Owned Schemas i ticked on the db_datareader, db_datawriter, db_owner and db_securityadmin howver these have now gone to a blue square instead of a tick when displayed.
So what's going on? Is Visual studio trying to create the database or is something else the issue?
I am not using TestControllers or TestAgents I am simply using a local run.
The answer was simple. I was setting up the connection string in the "SQL Tracing Connect String" instead of clicking the little "Manage Test Controller" icon at the top of my load test window and setting up the connection string from there.
Now I'm off to remove some of those superfluous permissions I created on that SQL user :)
Edit:
The SQL Connection String is NOT stored in the loadtest files. The setting seems to be PC specific so I had to change it on the build server - in one loadtest file (address.loadtest) as shown, then all the other loadtests adopt the same connection string.
I am using Visual Studio 2013 and had this error as well, but for a different reason. It's not entirely clear when setting up a load test for the first time that it will attempt to save the results to a database by default. I didn't realize it was trying to save results to a database until I got the error on my first run attempt. Furthermore, in the load test wizard, there is no screen to configure the database settings or create the database schema for that matter.
I found this article on MSDN which helped me solve the problem.
How to: Create a Load Test Results Repository Using SQL
https://msdn.microsoft.com/en-us/library/ms182600%28v=vs.120%29.aspx?f=255&MSPPError=-2147217396
Basically, it explains that you first need to run a script to create the load test repository schema. Once this is in place on your SQL instance is (it could be anywhere you like), then you can point your load test to this database and save your results there.
For me after I had set database connections and all the test results was still not writing to the database.
I forgot to change my storage type in the properties section of the runsettings.
The property is called 'Storage Type'
Storage Type : change it from None to Database
In my project I've a general folder for all my reports. I want to run these report for 2 different systems, (same server, different databases, same store procedure)
after I deploy I created 2 folder and I moved the DataSource and the report into them and update the connection string for each database.
I've 2 issues:
In one the report runs ok but when I tried to edit my DataSource I got the error "An internal error occurred on the report server."
In second folder I can edit the DataSource to change the connection string but the report show values in 0
I'm guessing that I don't need to create Data Source in each folder, Am I in the right way to do that?
I would recommend creating two different projects within a solution. This will let you set the deployment settings for each project. You can do all the copying on your local machine after you modify a report and then deploy.