October 22, 2014 at 5:43 am
Hi,
I am building a package with SSIS 2012 and SQL 2012 as the database.
I am trying to connect DQS Cleansing Component to DQS Server and I started to get an error when I do a test connection.
An unexpected error occurred in the DQS infrastructure.
System.FormatException: Index (zero based) must be greater than or equal to zero and less than the size of the argument list.
at System.Text.StringBuilder.AppendFormat(IFormatProvider provider, String format, Object[] args)
at System.String.Format(IFormatProvider provider, String format, Object[] args)
at Microsoft.Ssdqs.Infra.Messages.MessageManager`1.GetMessage(T message, Object[] args)
at Microsoft.Ssdqs.Component.Common.UI.NewConnectionForm.TestConnection(Object sender, EventArgs e)
at EventHandlerSafeHandler.handler(Object , EventArgs )
When I tried to check from inside the component It shows that there are multiple instances of DQS on the server.
There are no multiple instances and only one instance exist.
Initially I tested this and worked fine.
After certain time when I wanted to build started receiving the error.
Does anybody encountered this kind of issue?
I checked all possible options even uninstalled and installed DQS again but still the same.
On the server DQS Client is working fine.
Any Help much appreciated.
Thanks
March 24, 2016 at 12:50 pm
I guess that OP has already fixed the issue, but if someone is still looking for a solution, here it is:
This type of error happens when you have more than one DQS_MAIN on the same server. For example if you restored a backup of DQS database as a copy with different name. How SSIS knows about it? Well, it runs the following query on every single database on the server and if it gets more than 1 record then it fails with an error.
SELECT TOP 1 VALUE
FROM sys.extended_properties
WHERE NAME='DataBaseType' AND CAST(VALUE AS NVARCHAR(50))='MICROSOFT DATA QUALITY SERVICES - DQS'
So in order to fix the issue you need to DROP all the copies of DQS DB, or at least clear out theirs extended_properties.
March 24, 2016 at 1:06 pm
The following will check for and extended property called 'MICROSOFT DATA QUALITY SERVICES - DQS' across all databases, returning one row for each match.
exec sp_MSForEachDB
'
USE ?;
if exists
(
SELECT *
FROM sys.extended_properties
WHERE NAME=''DataBaseType''
AND CAST(VALUE AS NVARCHAR(50))=''MICROSOFT DATA QUALITY SERVICES - DQS''
) select db_name() as dbname;
';
"Do not seek to follow in the footsteps of the wise. Instead, seek what they sought." - Matsuo Basho
April 4, 2016 at 12:38 pm
This wasn't a solution for me, I ran the thing and only got one db that qualified DQS_MAIN, which is supposed to be the right DB
Viewing 4 posts - 1 through 3 (of 3 total)
You must be logged in to reply to this topic. Login to reply