Je voudrais écrire requêteSélectionnez externe via déclaration LOCATION
@result =
SELECT * //Id, Test
FROM EXTERNAL MyAzureSQLDBDataSource LOCATION "dbo.test"
WHERE Test NOT LIKE "_C";
Mais je suis arrivé une erreur:
C# error CS0103: The name 'Test' does not exist in the current context.
Si je cours requête sans instructions WHERE, tout fonctionne bien. Le même problème est dans SELECT, j'obtiens une erreur si j'utilise des noms de colonnes dans la requête au lieu de *
Une idée de pourquoi je ne peux pas utiliser la localisation et où l'instruction?
Le schéma est correct. Si j'exécute une requête via l'instruction d'exécution, tout fonctionne correctement. – peterko
L'instruction EXECUTE envoie une instruction T-SQL. Je suppose que votre base de données est insensible à la casse, donc elle ne se soucie pas du boîtier. Mais U-SQL est sensible à la casse, de sorte qu'il peut obtenir les méta-données de la table dans un boîtier différent. Quel est le résultat de '@result = SELECT * À PARTIR DE MyAzureSQLDBDataSource LOCATION EXTERNE" dbo.test "ORDER BY" one "FETCH 1; OUTPUT @result À "\ output \ test.csv" À L'AIDE DE Outputters.Csv (outputHeader: true); '? –
Merci, c'est mon cas. Vous avez raison, dans DB sont des colonnes définies en minuscules. – peterko