Solved

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

Posted on 2014-11-19
3
206 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
[X]
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
3 Comments
 
LVL 15

Expert Comment

by:JimFive
ID: 40454940
The CI indicates Case Insensitive, while CS indicates Case Sensitive.
0
 
LVL 40

Expert Comment

by:lcohan
ID: 40455581
"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
ID: 40473840
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

Enterprise Mobility and BYOD For Dummies

Like “For Dummies” books, you can read this in whatever order you choose and learn about mobility and BYOD; and how to put a competitive mobile infrastructure in place. Developed for SMBs and large enterprises alike, you will find helpful use cases, planning, and implementation.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

A couple of weeks ago, my client requested me to implement a SSIS package that allows them to download their files from a FTP server and archives them. Microsoft SSIS is the powerful tool which allows us to proceed multiple files at same time even w…
Recently, Microsoft released a best-practice guide for securing Active Directory. It's a whopping 300+ pages long. Those of us tasked with securing our company’s databases and systems would, ideally, have time to devote to learning the ins and outs…
This videos aims to give the viewer a basic demonstration of how a user can query current session information by using the SYS_CONTEXT function
Use Wufoo, an online form creation tool, to make powerful forms. Learn how to choose which pages of your form are visible to your users based on their inputs. The page rules feature provides you with an opportunity to create if:then statements for y…

726 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