comment bcp sortir de sybase quelques colonnes d'une table à plusieurs colonnes? Peut-on également prendre en compte certaines logiques lors de la récupération des données?

bcp bulk sqlbulkcopy sybase-ase

Question

J'ai un énorme tableau avec plus de 60 colonnes dans Sybase ASE, je veux bcp sur 12 colonnes. Je vérifiais la syntaxe des manuels, mais je ne trouvais pas le moyen de mentionner les noms de colonnes.

Je voudrais aussi mettre une certaine logique lors de la récupération de données, comme:

convt = case when A.isConvertible='0' then 'N' else 'Y'  end

Je recherche principalement quelque chose comme queryout disponible dans SQL Server bcp.

Je ne peux pas créer d'objets du côté de Sybase. C'est une source pour moi, je ne peux faire que SELECT dessus.

Réponse populaire

C'est assez facile à faire en créant une vue avec juste les colonnes et les valeurs que vous voulez. Vous pouvez ensuite utiliser bcp pour extraire des données de la vue.

Comme vous ne pouvez pas créer d'objets dans la base de données en question, cela complique les choses puisque bcp ne prend en charge que l'exportation de l'objet complet.

Une façon de ne disposer que de certaines autorisations sur la base de données en question consiste à créer la vue dans tempdb . Cela ne sera pas persistant entre les redémarrages du serveur de données, mais cela vous permettra de créer les colonnes dont vous avez besoin.

Une deuxième solution consiste peut-être à installer une insertion d’ASE sur votre système local et à monter les tables distantes via CIS ( Component Integration Services ). À ce stade, vous devriez pouvoir créer la vue dont vous avez besoin et exécuter le bcp à partir de votre système local.



Sous licence: CC-BY-SA with attribution
Non affilié à Stack Overflow
Est-ce KB légal? Oui, apprenez pourquoi
Sous licence: CC-BY-SA with attribution
Non affilié à Stack Overflow
Est-ce KB légal? Oui, apprenez pourquoi