2016-10-21 1 views
0

Alors que je tentais de mettre en relation entre deux objets par vue de source de données de ce message d'erreur est survenue: -Erreur de préciser le lien en vue de source de données ssas

enter image description here

La table de base de données sous-jacente détiennent différents types de données des colonnes (supposons que l'une est int alors qu'une autre est smallint ou bigint). Quelle est la façon de résoudre ce problème?

Répondre

1

La colonne source et la colonne de destination ont différents types de données

Je ne vois pas ce qui est pas clair avec ce message. Si vous avez une clé primaire, toutes les clés étrangères qui se rapportent à cette clé primaire doivent être du même type de données.

Si vous considérez le range and storage requirements of the data types:

Data type Range             Storage 
bigint  -9,223,372,036,854,775,808 to 9,223,372,036,854,775,807 8 Bytes 
int   -2,147,483,648 to 2,147,483,647       4 Bytes 
smallint -32,768 to 32,767          2 Bytes 
tinyint  0 to 255             1 Byte 

Vous pouvez voir que la plage de valeurs que la colonne peut contenir varie considérablement entre les types de données. Pour maintenir la relation entre les clés primaires et étrangères, le type doit être le même afin que la plage de valeurs qu'il peut contenir corresponde.

Si vous aviez un int clé primaire mais une smallint clé étrangère, il serait alors impossible pour la colonne de clé étrangère pour maintenir une valeur supérieure à 32767, alors que la clé primaire serait en mesure de tenir une valeur beaucoup plus grande. Par conséquent, la solution consiste à mettre à jour le type de données de la colonne que vous souhaitez utiliser en tant que clé étrangère pour correspondre à la clé primaire avant de créer une relation.