Friday 13 July 2012

Failed to decrypt protected XML node DTS:Password with error 0x8009000B

Unable to use a SQL job to execute a package designed in SSIS however it runs fine in Integration Services.  It reports the following error:
"Error Loading <>.dtsx: Failed to decrypt protected XML node "DTS:Password" with error 0x8009000B "Key not valid for use in specified state.".  You may not be authorized to access this information.  This error occurs when there is a cryptographic error.  Verify that the correct key is available "

Problem was due to the username set against the SQL Server Agent being different to the username used to designed the SSIS package.  To resolve this we left the Package default protectionlevel to "EncryptSensitiveWithUserKey".  When adding the SQL Server agent job we should set the protection level to be "Rely on Server Storage and roles for access control"

The following website was an excellent resource and help me understand the error:

http://www.mssqltips.com/sqlservertip/2091/securing-your-ssis-packages-using-package-protection-level/

eConnect - There was an error writing to the pipe: Unrecognized error 232 (0xe8) when importing

eConnect error: There was an error writing to the pipe: Unrecognized error 232 (0xe8) when importing

Resolution:

Add receiveTimeout="infinite" to the Microsoft.Dynamics.GP.eConnect.Service.exe.config file for the eConnect Integration service.

The binding section should resemble this:

Wednesday 11 July 2012

Data type STR15 does not exist in the dictionary. Parameter name: datatypeName

I received the following error whe launching Dynamics GP 2010 R2 SP3 for the first time after upgrading from Dynamics GP 10 SP 5

".DLL: Data type STR15 does not exist  in the dictionary.  Parameter name: datatypeName"

It turns out my non-upgraded forms and reports were causing this issue. 

1. Remove FORMS.DIC and REPORTS.DIC not yet upgraded
2. Launch Dynamics GP 2010 and register etc
3. Upgrade Forms and reports using Dynamics Uttilites

or
1. Upgrade Forms and reports using Dynamics Uttilites
2. Launch Dynamics GP 2010 and register etc

Tuesday 3 July 2012

Advanced ODBC Source - IM 11

Recently I had pulled my hair out with the issue of using Advanced ODBC in Integration Manager 11.   A client we were performing an upgrade to GP2010 for had an integration setup to pull in data from a CSV file and the update did not seem to work correctly for this source and had to be updated again.

An external system was creating unchangeable CSV files which was then used to create sales transactions in Dynamics GP 2010 The nature of the text file meant that a grouping of data was required for the header source and a sum of an amount column.

Sample file
InvoiceNo, description, Amt1,Amt2
100,sales 1,100.00,0.00
100,sales 1,55.00,0.00
101, sales 2, 88,76,10

The result of previewing the file should return the following results

InvoiceNo, description, Net,VAT
100,sales 1,155.00,0.00
101, sales 2, 88,76,10

Using the Advanced Query I was unable to build a query with the Query Builder.  The advise is to not bother if you are pulling from a text driver. 


I have found the following rules apply
1. Simply enter the query in the SQL Statement field

2. save changes and then preview

SSIS - Error Column "XXX" Cannot convert between unicode and non-unicode string data types

When building an SQL Server Integrastion Services package to import data from AS400 Database to SQL Server 2008 database I receive an error

"Error Column "XXX" Cannot convert between unicode and non-unicode string data types"



Create data conversion specify column, add new column alias (i.e. new column name).  Be sure to specify enough length.




Afterwards remap to new Output alias in the destination

SSIS - Could not open global shared memory to communicate with performance DLL

When testing my SSIS package I received the following message:

Warning: Could not open global shared memory to communicate with performance DLL; data flow performance counters are not available.  To resolve, run this package as an administrator, or on the system's console.

My package takes data from one source to a database destination using SQL Server Destination.

I corrected this by using OLE DB Destination instead of SQL Server Destination as my target detination object. 

MCTS: Microsoft SQL Server 2008, Implementation and Maintenance

Passed the 070-432 Microsoft SQL Server 2008, Implementation and Maintenance exam today. Next step upgrade to SQL 2012 at the end of the year

http://www.microsoft.com/learning/en/us/certification/cert-sql-server-mcsa.aspx