2017-05-17 5 views
1

J'ai un fichier de type csv/json et essaye d'insérer dans une table dans ADLA. Mais ma colonne de données ressemble à "Nike", qui devrait ressembler à Nike (sans les guillemets).Comment omettre le qualificateur de texte dans json/csv extracter, lors de l'insertion de lignes dans ADLA?

J'ai essayé d'utiliser "en citant: vrai" mais cela ne permet pas d'ignorer textqualifier, comme de faire l'importation dans la base de données du serveur SQL.

Source File

Exemple de code

DECLARE @in string = "/Samples/Data/UsqlTwo.csv"; 
DECLARE @out string = "/output/trckouttwo.csv"; 

@CustData = 
    EXTRACT CustomerUniqueID int    , 
    CusLocationID    int    , 
    [PIM]      int    , 
    AgeGender     string   , 
    Mood      string   , 
    StartDate     DateTime  , 
    ImagePath     string   , 
    EndDate     DateTime  , 
    OutletName     string   , 
    OutletStreet    string   , 
    OutletCity     string   , 
    OutletState    string   , 
    OutletAreaCode    string   , 
    OutletCountry    string   , 
    Outletlandmark    string   , 
    OutletWeather    string   , 
    BrandName     string   , 
    BrandStreet    string   , 
    BrandCity     string   , 
    BrandState     string   , 
    BrandAreaCode    string   , 
    BrandCountry    string   , 
    Brandlandmark    string   , 
    CamLocName     string   , 
    CamAddress     string   , 
    CamZone     string   , 
    CamContactName    string   , 
    CamEmailID     string   , 
    CamPhone     string   , 
    CamNotloc     string   , 
    CamNotZon     string   , 
    CamNotContctName   string   , 
    CamNotPhone    string   , 
    CamNotEmailID    string   , 
    CamSMSNot     string 

    FROM @in 
//  USING Extractors.Csv(skipFirstNRows:1); 
USING Extractors.Csv(quoting:true); 


@Branddetail= SELECT DISTINCT BrandName   

    FROM @CustData; 



    INSERT INTO CLSTrackOMeter.dbo.Brand 
(BrandId ,Name ,AddressId ,SuperAdminDetails) 

SELECT 3 AS BrandId, BrandName,3 AS AddressId,"Admin" AS SuperAdminDetails FROM @Branddetail; 

Résultat dans le tableau enter image description here

Résultat attendu devrait être là sans les guillemets

Répondre

1

Je pense que vous avez sorti votre fichier sans spécifier quoting : false dans le générateur de sortie. La valeur par défaut pour ceci est true selon le documentation, alors les guillemets apparaîtront pour les chaînes à moins que vous ne leur demandiez explicitement de ne pas le faire.

En ce qui concerne les citations apparaissant dans le tableau, je ne peux pas reproduire votre problème. quoting : true fonctionne parfaitement bien et va supprimer les citations de fichiers. Si vous produisez ensuite ce fichier (ce que je pense que vous avez fait, ne pas l'insérer dans une table selon votre script), spécifiez simplement quoting:false va supprimer les citations du fichier de sortie, comme ceci:

... 
OUTPUT @output 
TO "/output/output.csv" 
USING Outputters.Csv(quoting:false);