Package SSIS: convertir entre unicode et non-unicode types de données chaîne
Je me connecte à un serveur Oracle DB et la connexion fonctionne, mais j'obtiens l'erreur suivante pour certaines colonnes:
Description: Column "RESOURCE_NAME" cannot convert between unicode
and non-unicode string data types.
Valeur pour RESOURCE_NAME:
- Pour Oracle:
VARCHAR2(200 BYTE)
- Pour SQL Server:
VARCHAR(200 BYTE)
Je peux me connecter à la DB Oracle via Oracle SQL Developer, sans aucun problème. Aussi, j'ai le package SSIS réglage Run64BitRuntime = False
.
OriginalL'auteur Jeremy F. | 2013-07-15
Vous devez vous connecter pour publier un commentaire.
L'Oracle type de données
VARCHAR2
semble être équivalent àNVARCHAR
dans SQL Server, ouDT_WSTR
dans SSIS. RéférenceVous devrez le convertir à l'aide de la Transformation de Conversion de Données, ou
CAST
ouCONVERT
fonctions dans SQL Server.OriginalL'auteur Mike Henderson
Si le paquet fonctionne sur une machine et n'a pas dans d'autres; Essayez de définir le NLS_LANG à droite de la langue, de territoire et de jeu de caractères et le test du package.
OriginalL'auteur Jay Akhawri
La façon la plus simple de contourner cela à pour ouvrir le package SSIS dans le bloc-notes (le dtsx fichier) et faire une recherche globale et de remplacer toutes les instances de validateExternalMetadata="True" avec validateExternalMetadata="False".
remarque: nous avons rencontré ce problème lors de la connexion à une base de données Oracle 11g sur Linux via SSIS.
.dtsx
est correct. Faire une sauvegarde du fichier avant de le toucher.OriginalL'auteur rip747
sur oledb source ->avancé les options de l'éditeur->entrée/sortie des colonnes->colonnes de sortie->sélectionnez RESOURCE_NAME colonne et modifier le type de Données que DT_WSTR et la longueur aussi u peut changer, comme l'exige
OriginalL'auteur USER9999
Vous pouvez utiliser la commande SQL SSIS et l'utilisation
CONVERT
ouCAST
. Si SSIS encore vous donne une erreur de sa en raison des métadonnées. Voici comment vous pouvez y remédier.OriginalL'auteur shockwave
Si tout a échoué à partir de ci-dessus. Créer une variable de table et insérer les données. Puis sélectionner tous les enregistrements en tant que source. utilisez SET NOCOUNT on dans le script.
OriginalL'auteur Amar Jyoti Lahon
Il vous suffit de double-cliquer sur la "Conversion de Données" bloc dans le Flux de Données et pour chaque élément, modifier comme suit: "la Chaîne Unicode [DT_WSTR]"
Œuvres
OriginalL'auteur user2860427