Solved

Salesforce.com:  id nvarchar(18) columns have different collations.  Why?

Posted on 2014-11-19
3
173 Views
Last Modified: 2016-02-17
Hi All

I've inherited an SSIS 2008R2 + Task Factory package where the data source is Salesforce.com
This source has id columns that are nvarchar(18).  Most of them are collated SQL_Latin1_General_CP1_CI_AS, but there are a couple that are SQL_Latin1_General_CP1_CS_AS and Latin1_General_CS_AS.

Would anyone know what controls the collations of PK's / FK's in Salesforce.com?

Thanks in advance.
Jim
0
Comment
Question by:Jim Horn
3 Comments
 
LVL 15

Expert Comment

by:JimFive
Comment Utility
The CI indicates Case Insensitive, while CS indicates Case Sensitive.
0
 
LVL 39

Expert Comment

by:lcohan
Comment Utility
"Would anyone know what controls the collations of PK's / FK's in Salesforce.com? "

I believe the question above is not quite correct and/or easy to answer for simple reason that Collation is "controlled" at the Table.Column level and not at the PK/FK constraint level - right?

So I just realized that this can be some sort of answer to the question "what controls the collations of PK's / FK's" - that would be the underlying TableColumn Collation.

Also the different collation may come because the original database was created on one SQL Server having one default collation as per Model database then migrated to a new SQL box with different collation where new column(s) was added.
0
 
LVL 65

Accepted Solution

by:
Jim Horn earned 0 total points
Comment Utility
Received the answer here:

The developer or tool that built the database decided, and if multiple developers were responsible, that would explain the differences. There are only two "correct" data types for ID values. Older databases would probably use a Latin 1 CS char(15) variant, or Latin 1 CI char(18) for newer databases. Anything else would not be the correct data type.
The extra three characters provide uniqueness without sensitivity, so it's no longer required so long as you're using the full 18 character value.
Thanks anyways guys.

>The CI indicates Case Insensitive, while CS indicates Case Sensitive.
That wasn't the question.
0

Featured Post

How to run any project with ease

Manage projects of all sizes how you want. Great for personal to-do lists, project milestones, team priorities and launch plans.
- Combine task lists, docs, spreadsheets, and chat in one
- View and edit from mobile/offline
- Cut down on emails

Join & Write a Comment

Salesforce.com is a cloud-based customer relationship management (CRM) system. In this article, you will learn how to add and map custom lead and contact fields to your Salesforce instance.
Load balancing is the method of dividing the total amount of work performed by one computer between two or more computers. Its aim is to get more work done in the same amount of time, ensuring that all the users get served faster.
Viewers will learn how to use the SELECT statement in SQL to return specific rows and columns, with various degrees of sorting and limits in place.
Viewers will learn how to use the UPDATE and DELETE statements to change or remove existing data from their tables. Make a table: Update a specific column given a specific row using the UPDATE statement: Remove a set of values using the DELETE s…

762 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question

Need Help in Real-Time?

Connect with top rated Experts

10 Experts available now in Live!

Get 1:1 Help Now