Suite

Erreur étrange dans le script de métadonnées


J'ai donc développé un script qui parcourt un répertoire racine et tous les sous-répertoires et fichiers de couches de catalogues. Exporte ensuite les métadonnées FGDC de ces fichiers de couche et les exporte dans un dossier. À ce stade, le code est parfois complet et traite parfois "la plupart" des entrées et des erreurs sur le point d'être terminées.

Quelqu'un peut-il préciser ce qui se passe ici? Le code d'erreur est :

Fichier "C:Program Files (x86)ArcGISDesktop10.2arcpyarcpyconversion.py", ligne 624, dans ExportMetadata lever e

ExecuteError : ERREUR 000582 : Une erreur s'est produite lors de l'exécution.

import arcpy,os arcpy.env.overwriteOutput=True metadataout=r'C:	mpout' pour dirpath,dirnames,filenames in arcpy.da.Walk(r'C:folderfiles',datatype="Layer" ): pour le nom de fichier dans les noms de fichiers : print filename translate = r'C:Program Files (x86)ArcGISDesktop10.2MetadataTranslatorARCGIS2FGDC.xml' arcpy.ExportMetadata_conversion(os.path.join(dirpath,filename) ,translator,os.path.join(metadataout,str(filename).split(".")[0]+'.xml'))

Le code python pour le traducteur de métadonnées ESRI au lieu de la commande d'exportation a semblé résoudre le problème.


Import-Module WebAdministration ne se chargera pas à partir du script mais le fera à partir de la ligne de commande

J'arrive sur un projet qui utilise PowerShell pour scripter la build. La version utilise le module WebAdministration pour gérer l'instance IIS locale. Lorsque j'exécute le script de génération, l'erreur suivante est générée lors de la tentative d'importation de WebAdministration .

Erreur : 29/06/2016 17 : 28 : 35 : À C:devsrc ib-ravendbuildConfigureIis.ps1:10 char:1 + Import-Module WebAdministration +

[<<==>>] Exception : Le module spécifié 'WebAdministration' n'a pas été chargé car aucun fichier de module valide n'a été trouvé dans aucun répertoire de module. ERREUR : 1

Cependant, lorsque j'exécute Import-Module WebAdministration sur la ligne de commande PowerShell, le module est importé et je peux utiliser ses fonctionnalités. Par la suite, l'exécution du script de génération échoue toujours.

J'ai IIS 7.5 et PowerShell 4

Quelqu'un a-t-il une idée de la raison pour laquelle cette importation échouerait dans le script mais pas dans la ligne de commande, et comment y remédier ?


Bref, si vous voulez flasher KitKat Android 4.4, vous devrez passer à une version de CWM supérieure à la v6.0.4.5. Ou utilisez un autre chargeur de démarrage. Pour la Galaxy Tab 2 GT-P5113 ou GT-p5110, vous pouvez trouver les instructions ici.

Un package zip qui contient une mise à jour du firmware inclut toujours deux fichiers dans META-INF/com/google/android : updater-script et update-binary . updater-script est un fichier texte contenant les commandes requises pour installer la mise à jour. update-binary traduit les commandes en code binaire.

Dans Android 4.4 KitKat, Google a modifié l'interface utilisée par le script de mise à jour pour configurer les autorisations. La méthode set_perm précédemment utilisée a été dépréciée et remplacée par set_metadata . Cela provoque l'échec des anciennes versions du logiciel de récupération personnalisé avec les packages Android 4.4 (par exemple, CyanogenMod 11) et affiche le message d'erreur "set_metadata_recursive: certains changements ont échoué".

La meilleure solution consiste à mettre à jour le logiciel de récupération personnalisé. Je n'ai pas trouvé de version suffisamment récente de ClockworkMod compilée pour mon appareil, mais j'ai trouvé la dernière version de TWRP pour fonctionner.


&ldquoError : doit spécifier le fichier de métadonnées&rdquo signalé avec l'outil de migration Force.com

J'ai supprimé une copie d'une organisation Salesforce à partir d'un référentiel Git.

Lorsque j'essaie de le déployer dans un bac à sable, j'obtiens l'erreur suivante (anonymisée de manière appropriée) :

*********** DÉPLOIEMENT ÉCHEC ***********
Identifiant de la demande : 0AfO00000062GMVKA2

Défaillances de tous les composants :
1. classes/FooBeforeInsertUpdateABCDEFGHIJOrder_Tst.cls -- Erreur : doit spécifier le fichier de métadonnées
2. classes/afterBeforeInsertUpdateDeleteAccount_Tst.cls -- Erreur : doit spécifier le fichier de métadonnées
3. classes/beforeDeleteABCDEFGHIJKLTransaction_Tst.cls -- Erreur : doit spécifier le fichier de métadonnées
4. classes/AfterBeforeInsertUpdateABCDE_Tst.cls -- Erreur : doit spécifier le fichier de métadonnées

Remarque : je suis arrivé à cela en tant que projet existant et j'ai désavoué la structure du déclencheur et les conventions de nommage.

Ce qui est étrange, c'est que l'attendu .cls-meta les fichiers existent définitivement dans le dossier deployRoot classes à côté du .cls fichier.

Le .cls-meta pour toutes les classes d'apex affectées apparaît comme :

Au début, je pensais que c'était l'apiVersion étant 33.0 alors que le package.xml résidant dans le répertoire src avait <version>31.0</version> . Cependant, la modification de la version définie dans le package n'a eu aucun effet sur les erreurs de déploiement. Ça, et il y en a d'autres .cls-meta fichiers qui se déploient avec succès et ont également v33.0.

J'ai confirmé que l'organisation cible a installé le package de gestion des prêts avec la version 1.1806.4 et la première version installée de 1.1799. Encore une fois, il existe également d'autres classes Apex avec exactement le même .cls-meta fichiers, y compris les éléments packageVersions qui se déploient avec succès.


Troncature du package SSIS et perte de données possible (code d'erreur : 0xC020901C)

Bonjour à tous, Cela fait maintenant 2 jours que j'essaie de trouver comment résoudre ce problème, toujours pas de réponse. Peut-être que vous pouvez m'aider. Voici la chose. J'ai créé un package SSIS pour importer des données depuis un autre serveur de base de données voici les spécifications des deux serveurs : j'utilise Sql Server Data Tools 2012

Source : SQL Server 2008 r2 Type de connexion : OLE DB

Destination : SQL Server 2012 Type de connexion : OLE DB

Le package est un package d'importation et d'exportation, comportant 2 tâches, une "tâche de flux de données" et une "tâche d'exécution SQL". La source est une commande SQL, avec une simple sélection parmi quelques jointures, rien de spécial. la destination est Table dans le serveur de destination. Bien sûr, nous avons une tâche de conversion de données entre les deux. Le package fonctionnait correctement jusqu'à ce que nous ayons ajouté une nouvelle colonne à la sélection, de type varchar (50). J'ai modifié la table de destination avec la même chose, j'ai seulement utilisé NVARCHAR (50) et ajouté la conversion de données en tant que chaîne UNICODE [DT_WSTR] de longueur 50.

Après cela, je reçois l'erreur:

Erreur : 0xC020901C à [Package], Source - Requête [127] : Il y avait une erreur avec Source - Query.Outputs [OLE DB Source Output].Columns [COL] sur Source - Query.Outputs [OLE DB Source Output]. L'état de la colonne renvoyé était : "La valeur n'a pas pu être convertie en raison d'une perte potentielle de données.".

J'ai essayé d'augmenter la taille des colonnes de destination de 50 à 100, la même erreur se produit toujours. Ce qui est étrange, c'est que lorsque je remplace Col par NULL dans la requête source, le package s'exécute parfaitement.


2 réponses 2

Dans la version Summer 20, la propriété componentInstances pour les régions FlexiPage a été supprimée. Ceux-ci doivent être remplacés par itemInstances comme indiqué dans les notes de version. Plus de détails sur la structure d'un type de métadonnées ItemInstance se trouvent dans le guide.

Pour les organisations qui ont été actualisées dans la nouvelle version (comme les bacs à sable et votre organisation de production au moment de l'AG), la structure de vos métadonnées XML se déroulera automatiquement avec le nouveau format de métadonnées au fur et à mesure de sa mise à niveau vers la version Summer 20 .

Si vous travaillez à partir de VCS en poussant votre source qui a fonctionné sur l'API v48.0 vers une organisation qui exécute Summer20 sur v49.0, vous devrez mettre à jour manuellement la structure XML.

Pour mettre à jour le XML manuellement, la nouvelle structure est documentée dans le guide de l'API MD lié ci-dessus, mais assurez-vous simplement d'avoir une balise <itemInstances> entourant chaque balise <componentInstance> dans votre nouvelle structure XML. Voici un exemple avant/après du fichier sur lequel j'ai testé ceci pour une configuration <flexiPageRegions> :

Lorsque je suis tombé sur cela, j'ai profité de l'occasion pour enregistrer une petite vidéo sur la réparation d'un de mes fichiers de métadonnées Flexipage défaillants. Tu peux le voir ici.


La liste des fonctionnalités de GPicSync implique qu'il peut le faire, mais je n'ai vu aucune documentation expliquant comment, donc s'il n'est pas détectable à partir de l'interface, vous pouvez utiliser exiftool directement comme ceci :

où "$lat" et "$lon" sont la latitude et la longitude en degrés décimaux, degrés-minutes ou degrés-minutes-secondes sous forme de nombres à virgule flottante.

Vous pouvez utiliser GeoSetter. C'est un outil gratuit pour Windows. GeoSetter utilise Exiftool pour écrire des balises, mais fournit une interface graphique facile à utiliser.

Il vous permet de sélectionner les photos que vous souhaitez géolocaliser, ou vous pouvez modifier les balises existantes. Vous pouvez marquer des photos en les synchronisant avec un fichier GPS, ou choisir l'emplacement sur une carte, ou saisir manuellement la latitude/longitude.

Si vous n'avez pas de trace GPS valide, l'option la plus simple est de choisir l'emplacement sur la carte (Google Maps ou OpenStreetMap). Cliquez sur la carte pour ajouter un marqueur, puis cliquez sur ce marqueur et choisissez « Attribuer une position aux images sélectionnées ». Ou si l'image est déjà géolocalisée, vous pouvez faire glisser le marqueur vers la position correcte.


Peut-être que cela vous serait utile :

Pour être honnête, vous pourriez probablement créer un script PowerShell pour extraire un ensemble de termes à l'aide du modèle objet assez rapidement - mais si cela fonctionne, alors pourquoi réinventer la roue.

Nous avons récemment déplacé notre ensemble de termes de test à la production en attachant simplement la base de données de métadonnées gérées sur notre site de production et en la déplaçant avec notre base de données de contenu.

La raison pour laquelle cette approche a été choisie était que les utilisateurs avaient déjà commencé à remplir du contenu dans l'environnement de test. Sachez que toute solution d'import/export comme celle de codeplex détachera toute utilisation de terme existante sur la base de données de contenu. Par exemple, si vous utilisez la taxonomie pour baliser des documents, les données resteront après la migration de la base de données de contenu, mais si vous importez simplement les termes existants plutôt que de déplacer la base de données de taxonomie, les éléments des documents seront en lecture seule puisque les listes /TaxonomyHiddenList ne sera pas en mesure d'identifier les "nouveaux" termes car ils ont des GUID complètement différents des termes d'origine.

Notez que ce n'est un problème que si vous déplacez à la fois la base de données de contenu et les termes d'une batterie à une autre, pas si vous les déplacez vers une base de données de contenu propre qui n'utilise pas encore les termes !


Impossible de supprimer le groupe de fichiers sans fichiers associés

Je rencontre des messages d'erreur étranges sur SQL Server 2017 CU3. Je migre des bases de données et réorganise des groupes de fichiers. Par "réorganisation", je veux dire que j'utilise une procédure stockée qui crée une fonction de partition et un schéma de partition sur le nouveau groupe de fichiers pour un objet, reconstruit les index lors du partitionnement, puis supprime le partitionnement.

À la fin, j'ai des groupes de fichiers vides. Leur des dossiers sommes supprimé. Les groupes de fichiers eux-mêmes sont également supprimés. Cela fonctionne bien dans la plupart des cas. Cependant, pour deux bases de données, j'ai supprimé les fichiers. avoir un groupe de fichiers laissé sans fichier associé mais

Le groupe de fichiers 'xyz' ne peut pas être supprimé car il n'est pas vide.

Question

Comment puis-je me débarrasser de ce groupe de fichiers vide. quel pourrait être le problème?

J'ai déjà lu quelques problèmes courants, mais ils ne sont pas présents dans mon système :

0 lignes. aucun objet de partitionnement laissé dans la base de données

MISE À JOUR DES STATISTIQUES pour tous les objets de la base de données

Vérifie les index sur le groupe de fichiers :

Vérifie les objets dans le groupe de fichiers :

J'ai également essayé DBCC SHRINKFILE avec le paramètre EMPTYFILE avant de supprimer le fichier du groupe de fichiers. Cela n'a pas vraiment de sens pour moi, mais j'ai lu des solutions pour décrire cela comme un correctif. N'a eu aucun effet de toute façon.

J'ai eu un peu d'espoir en lisant cette question sur une panne de serveur et j'ai essayé ce qui suit :

Cependant, cela n'a eu aucun effet. J'ai toujours un groupe de fichiers sans fichier associé et le groupe de fichiers ne peut pas être supprimé. Je suis totalement perplexe car cela se produit dans certaines bases de données et pas dans d'autres (avec la même structure). Lorsque j'exécute DBCC CHECK FILEGROUP sur ce groupe de fichiers vide, je reçois un tas de messages d'erreur comme les suivants :

Impossible de traiter l'ID d'ensemble de lignes 72057594712162304 de l'objet "STORY_TRANSLATIONSCCC" (ID 120387498), index "Ref90159CCC" (ID 2), car il réside sur le groupe de fichiers "CCC_APPLICATION_new" (ID 8), qui n'a pas été vérifié.

Résultats DBCC pour 'STORY_TRANSLATIONSCCC'. Il y a 0 lignes dans 0 pages pour l'objet "STORY_TRANSLATIONSCCC".

Est-ce normal ou cela indique-t-il quelque chose d'inhabituel ?

Cette question peut être un doublon, mais je ne trouve pas de solution qui fonctionne pour moi dans d'autres questions sur dba.stackexchange. S'il vous plaît jeter un oeil à la liste de ce que j'ai déjà essayé. Ceci est identique aux solutions décrites dans Impossible de supprimer les groupes de fichiers inutilisés.

Plus de détails

Peut-être que cela aide à comprendre ce que je fais avant que l'erreur ne se produise. J'envisage une migration vers un nouveau serveur. Je teste actuellement cela sur une instance de test. Les bases de données sont restaurées à partir du serveur prod et le modèle de récupération est basculé sur simple. Mon objectif est de restructurer les groupes de fichiers et de passer d'un modèle avec un fichier par groupe de fichiers à un modèle avec deux fichiers par groupe de fichiers. Pour y parvenir, je crée de nouveaux groupes de fichiers vides avec deux fichiers chacun et déplace les données. Malheureusement, la plupart des objets ont des données LOB (XML et binaires). J'utilise donc le partitionnement en tant qu'aide pour déplacer également les données lob. À la fin, toutes les données résident dans les nouveaux groupes de fichiers et les anciens groupes de fichiers sont vides. Ensuite, je supprime tous les fichiers et supprime également le groupe de fichiers respectif. Le groupe de fichiers principal reste et obtient juste un autre fichier ajouté. Vous pouvez trouver un exemple de script dans une autre de mes questions. Ce processus fonctionne bien mais dans deux bases de données, les fichiers peuvent être supprimés mais pas le groupe de fichiers. Étonnamment, la structure de ces bases de données devrait être la même que la structure d'autres bases de données où aucun problème n'a été rencontré lors du processus de déplacement des données et de suppression des anciens groupes de fichiers.

Voici donc une liste des groupes de fichiers et des fichiers des deux bases de données où le problème se produit :

J'espère que ça aide un peu. Il existe également une deuxième base de données où les noms de groupes de fichiers sont différents, mais je laisse cela de côté par souci de concision.


Il semble que vous deviez utiliser la validation de formulaire. C'est similaire à la validation de colonne/champ, mais vous pouvez référencer n'importe quelle colonne dans le calcul.

Pour accéder aux paramètres de validation, accédez à. 1. Paramètres de liste/bibliothèque 2. Sous Paramètres généraux, cliquez sur 'Paramètres de validation' 3. À partir de là, vous pouvez saisir la formule et le message d'erreur requis.

La formule veut évaluer à VRAI ou OUI si vous voulez que la soumission soit réussie. FALSE ou NO si vous voulez que la validation affiche une erreur et empêche la soumission.

Maintenant, pour le changement d'autres valeurs. Je suggérerais soit quelque chose à voir avec les colonnes calculées, qui utilisent une logique similaire à la validation mais vous pouvez définir leurs valeurs, ou un flux de travail.

Le moyen le plus simple serait d'utiliser un flux de travail de SharePoint Designer. Vous pouvez simplement dire "Sur la modification de l'article" et "Sur la création de l'article" exécuter le workflow et modifier les valeurs en fonction de ces exigences. Vous pouvez définir presque n'importe quel type de champ à partir de SharePoint Designer directement. Les seules dont je ne suis pas sûr sont les colonnes calculées et les colonnes de métadonnées gérées.

La méthode qui mettrait le moins de pression sur votre ferme serait d'utiliser des colonnes calculées. Vous aurez peut-être besoin de quelques nouvelles colonnes impliquées ici, mais ce que je ferais, c'est de définir le calcul sur ceci :

Cela vous donnera la possibilité de définir votre colonne calculée sur 0 si un champ spécifique est "Oui". Sinon, il prendra la valeur par défaut de tout autre champ numérique auquel vous faites référence. Laissez ensuite une description sous "L'autre champ numérique" en mentionnant que si votre champ booléen est "Oui", cette valeur est supposée être 0.

Dans votre formulaire d'affichage, vous pouvez donc définir la colonne calculée comme ce qui est affiché, et l'autre champ numérique n'est affiché que dans le formulaire d'édition et de création.


Voir la vidéo: iOS App Development with Swift by Dan Armendariz (Octobre 2021).