Unusual Message Source Name in SSIS standard Report - ssis

Usually, in a dtsx Standard Report, there is a column "Message Source Name" that indicates which dtsx threw the error or raised the event.
Now i get "Transact-SQL stored procedure" and of course I don't have such a dtsx.
So, question #1 is: Where should I go to check the error?
Besides, the error is: An error occurred while setting the value of a property "InitialCatalog". The error returned is 0x80020009. The connection string components cannot contain unquoted semicolons....
My dtsx were doing fine and I was publishing dtsx on a regular basis with no problems. Then, I changed the name of a ConnectionManager and took care of changing this name wherever it appeared.
After this fateful move, I cannot manage to restore the previous situation. Even rollbacking all changes through TFS and going back to the previous names doesn't solve the matter.
I checked also the environment I am using and the configuration of the job that launches the dtsx, to no avail.
If I execute the dtsx on my development machine, from visual studio, it works fine. The problem arises in production enviroment when I use the job configured with the environment. In the project configuration and in the environment configuration I don't see what an "unquoted semicolumn" could be.
The value of the connection string that is indicated as having an error looks like:
Data Source=11.1.1.11,1111;Initial Catalog=MyDB;Provider=SQLNCLI11.1; Integrated Security=SSPI ;Auto Translate=False;
Question #2 is: Where could this connection string with unquoted semicolon be?
Thx.

With much effort I managed to find an answer to Question #2:
I am using parametrized connection managers, so I have a project parameter (let's call it PP1) in my dtsx with the connString.
During configuration of the SSIS project I need to give a value ONLY for the parameter PP1, and NOT for the connection string.
What I did wrong was to give the Environment Variable with the connString to the Property "Initial Catalog". Therefore, SSIS was lamenting of the presence of ";" (the ones in the connString) in the InitialCatalog.

Related

Parameter Value: "Get values from a query" not working on host

I'm having problems when using the option "Get values from a query" in my Parameter settings.
On the server everything works like a charm.
But when I deploy and then launch the report on my hosting, I get an error message:
If I use the option: "None", then everything works fine.
I've placed a test Tablix, to see the result of the dataset on the host, and also this causes no problem.
So the issue is only with the "Get values from a query" section AND only on the hosting.
Anybody got an idea?
EDIT: I turned EnableRemoteErrors on, as requested by the errormessage, but no additional info is given.
The detail of the error is in the SSRS log file located at -->
<SSSRS_INSTALL_DIR>\Report Server\Log Files.
That is where I would go. Based how you describe the dataset driving the parameters works but not when given a value then I would expect this to be a parameter mismatch or missing parameter. Make sure that you are feeding the dataset the parameters you think you are. Also, if you don't allow nulls then make sure you are supplying a default value.
You said, you placed a tablix on the report showing the results of the YearsDOW dataset and this fails. If this also fails when you set your available values to 'None' then we can assume, as the error states, that the issue was with executing the query itself, not your report design.
As this seems to work when you run it from your local machine in development but fails when run from the server I would suspect it's an authentication/permissions issue.
Check the credentials on the datasource in your development environment and compare these to the SSRS server's version of the datasource. Remember, by default datasources do not get overwritten so it maybe that you deployed the datasource initially with one set of credentials then then changed them in your development environment.
If this is the case and the datasource is not used for other reports on the server, then you can either change the project properties to overwrite datasources but personally I prefer to delete the datasource from the server and then redeploy, that way future changes won't affect the servers version unintentionally.
If the datasource is used in other reports without problems then you could just rename the datasource to something unique so it will get redeployed under the new name and your report will point to that new version.

The connection "" is not found. SSIS

When I open a new simple SSIS Project I created I get an error:
'Error loading HyperionFlatLoads.dtsx: The connection "" is not found. This error is thrown by Connections collection when the specific connection element is not found.
C:\Users...\Projects\Hyperion_Load_Actuals\Hyperion_Load_Actuals\HyperionFlatLoads.dtsx
I've looked everywhere for this reference and can't for the life of me figure out what it's missing. The package runs fine; the data moves into the SQL table - but this error persists. Anyone want to help me find out why and eliminate this?
You can view and edit dtsx file as regular XML file. So, open it and find
<DTS:ConnectionManagers>
<DTS:ConnectionManager ... DTS:ObjectName="CM name">
if you are using SSIS 2012+
or
<DTS:ConnectionManager>
...
<DTS:Property DTS:Name="ObjectName">CM name</DTS:Property>
if you are on SSIS 2008.
Remove node <DTS:ConnectionManager> and save the file.
I want to add an alternative solution that I was facing for others who may stumble across this post.
I had setup logging, but forgot to specify a connection manager. This took me forever to find because viewing the XML doesn't make it obvious where "" is.

ssis oledb source, as400 parameter not found

I'm using ssis 2008 and I'm trying to get data from an as400 database.
I have a Data Flow Task, and inside it, I have an Oledb Source and in there, I have Data access mode to Sql Command, and I have a query:
select *
from table1
where name = ?
Then i click on the Parameters button and set "name1" for the name of my parameter.
When i ran the ssis, i got error:
Error: The SQL command requires a parameter named ""00001"", which is
not found in the parameter mapping.
So I changed the parameter name to ""00001"" and the ssis worked fine.
Now, the problem is that this same ssis needed to be ran on another as400 server, and older one, and when it ran it showed error:
Error: The SQL command requires a parameter named "", which is
not found in the parameter mapping.
So, now the other server requires a different parameter name.
Is there another way of doing this process using something different than Oledb Source in order to avoid the problem?
What can I do?
We are using sql 2012 and a as400 system and we use a ODBC source for the as400. For our setup it seems to be working. So try the ODBC.
Well, this seems to be an as400 bug, as seen here : [link]http://social.msdn.microsoft.com/Forums/en-US/sqlintegrationservices/thread/5d6ef4f9-1a67-45d1-8a49-eb08becf1408/
On that thread a user says: "This bug is directly related to IBMDA400 from IBM Client Access Tools. There is a bug with the driver passing a parameter to the AS/400. I have proved this out using a third party driver from HiT Software. Passing 00001 is correct using their drivers."
So as I see, it wont matter the method you use, what's need to be done in order to get it working is to pass the parameter with name that AS400 requires. If the parameter with the correct name is passed then the query will work correctly.

SSIS package Error

i have updated the old SSIS Load package. i have changed the variable names and some other stuff but when i try to execute package it gives me error for old variable names that variable not found. now i checked it so many times, i have no old variable name defined anywhere then why its giving me error for previous variable names?
Thanks
Hard to diagnose your issue without any error messages or detail, but you could view the xml (think it's View menu, then Code), and search the XML text for any instances of the old variable that is throwing the error.
Best guess is that you are referencing the old variable name in an expression somewhere. If you are allowed in your environment, download BIDS Helper. It will highlight expressions for you to make them easier to find and correct.

LINQ to SQL Connection String

I've used LINQ to SQL in a unit testing project to mock some test data. I've changed the database name today and consequently the LINQ to SQL code doesn't work any more. I get the following error 'System.Data.SqlClient.SqlException: Cannot open database "XXX" requested by the login. The login failed'. I've tried changing the Connection property on the DataContext in the designer but this doesn't work. I've tried changing the connection string in app.config as well but this doesn't work as well. Is there anything I missing here?
I managed to solve this problem: In opened up the .dbml file in the XML editor (rather than the designer) and found a Database element with the old database name referenced. Once I changed this then everything was OK.