excel sheets exported to CSV can be inported to SSIS, but if a fields already contains comma, the package will read the csv structure wrong. In the text delimter field for the flat file manager, put in a double quotes ("), and it will work correctly.
tirsdag den 31. maj 2016
torsdag den 12. maj 2016
Date formats - if doesn't work
http://stackoverflow.com/questions/34025371/ssis-2012-date-formats-dmy-vs-mdy
Remember to use Conversion to convert string to dateformat - don't use derived column solely
Remember to use Conversion to convert string to dateformat - don't use derived column solely
mandag den 9. maj 2016
Getting Sharepoint list into SSIS
Download the setup:
http://sqlsrvintegrationsrv.codeplex.com/releases/view/17652
Follow the guide if it doesn't appear as source/destination in your SSIS toolbox
http://dataqueen.unlimitedviz.com/2011/06/how-to-use-a-sharepoint-list-as-a-data-source-in-your-ssis-package/
Derived column:
TRIM( SUBSTRING( YOUR_COLUMN_NAME, FINDSTRING( YOUR_COLUMN_NAME, “;#”, 1 ) +2, 255)
example:
TRIM(SUBSTRING([Project ID*], FINDSTRING([Project ID*], ";#", 1 ) +2, 255) )
to clean ;# when Sharepoint list has lookups
http://www.viamacchina.com/2013/08/ssis-and-sharepoint-list-sources-with.html
or clean via script component:
http://microsoft-ssis.blogspot.nl/2010/12/do-something-for-all-columns-in-your.html
http://sqlsrvintegrationsrv.codeplex.com/releases/view/17652
Follow the guide if it doesn't appear as source/destination in your SSIS toolbox
http://dataqueen.unlimitedviz.com/2011/06/how-to-use-a-sharepoint-list-as-a-data-source-in-your-ssis-package/
Derived column:
TRIM( SUBSTRING( YOUR_COLUMN_NAME, FINDSTRING( YOUR_COLUMN_NAME, “;#”, 1 ) +2, 255)
example:
TRIM(SUBSTRING([Project ID*], FINDSTRING([Project ID*], ";#", 1 ) +2, 255) )
to clean ;# when Sharepoint list has lookups
http://www.viamacchina.com/2013/08/ssis-and-sharepoint-list-sources-with.html
or clean via script component:
http://microsoft-ssis.blogspot.nl/2010/12/do-something-for-all-columns-in-your.html
// This script adjusts the value of all string fieldsusing System;using System.Data;using Microsoft.SqlServer.Dts.Pipeline.Wrapper;using Microsoft.SqlServer.Dts.Runtime.Wrapper;using System.Reflection; // Added[Microsoft.SqlServer.Dts.Pipeline.SSISScriptComponentEntryPointAttribute]public class ScriptMain : UserComponent{ // Method that will be started for each record in you dataflow public override void Input0_ProcessInputRow(Input0Buffer Row) { // Use Reflection to loop through all the properties of Row: // Example: // Row.Field1 (String) // Row.Field1_IsNull (Boolean) // Row.Field2 (String) // Row.Field2_IsNull (Boolean) foreach (PropertyInfo p in Row.GetType().GetProperties()) { // Do something for all string properties: Row.Field1, Row.Field2, etc. if (object.ReferenceEquals(p.PropertyType, typeof(string))) { // Use a method to set the value of each String type property // Make sure the length of the new value doesn't exceed the column size p.SetValue(Row, DoSomething(p.GetValue(Row, null).ToString()), null); } } } // New function that you can adjust to suit your needs public string DoSomething(string ValueOfProperty) { // Uppercase the value ValueOfProperty = ValueOfProperty.ToUpper(); return ValueOfProperty; }}
//other notes:
Make sure to install the sharepoint list addon on the server side as well, and ensure the sql server agent has access to the sharepoint site. That can be done by making a credential (with you Windows Login), and then a SSIS Package Exection Proxy with that credential. But ensure that the sql server actually can access localpages on the LAN..
To get sql server agent account name in case you want to add it to sharepoint:
SELECT DSS.servicename,
DSS.startup_type_desc,
DSS.status_desc,
DSS.last_startup_time,
DSS.service_account,
DSS.is_clustered,
DSS.cluster_nodename,
DSS.filename,
DSS.startup_type,
DSS.status,
DSS.process_id
FROM sys.dm_server_services AS DSS;
DSS.service_account = domain\username
Abonner på:
Kommentarer (Atom)