Outils pour utilisateurs

Outils du site


td_histoire_numerique:zotero

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Prochaine révision
Révision précédente
td_histoire_numerique:zotero [2019/02/27 18:12] – créée fberettatd_histoire_numerique:zotero [2019/03/01 17:29] (Version actuelle) – [Meilleure solution] fberetta
Ligne 2: Ligne 2:
 ====== Présentation du logiciel ====== ====== Présentation du logiciel ======
  
 +\\
  
  
Ligne 7: Ligne 8:
  
  
 +\\
  
  
 ====== Accès direct à la base de donneés de Zotero ====== ====== Accès direct à la base de donneés de Zotero ======
  
 +Documentation: 
 +  * Liste à puce[[https://www.zotero.org/support/dev/client_coding/direct_sqlite_database_access|Direct Access to the Zotero SQLite Database]]
 +  * [[https://www.zotero.org/support/zotero_data|Zootero data directory and database restore]]
 +  * [[https://www.zotero.org/support/dev/client_coding/javascript_api|Zotero JavaScript API]] for local Zotero instance
  
 <code sql> <code sql>
Ligne 33: Ligne 38:
 GROUP BY t1.itemID, t2.typeName; GROUP BY t1.itemID, t2.typeName;
 </code> </code>
 +
 +
 +
 +====== Zotero database locked ======
 +
 +
 +Lorsque Zotero est activé, la base de donnée SQLite qui stocke les données est inaccessible, afin d'en protéger le contenu.
 +
 +
 +===== Meilleure solution =====
 +
 +La meilleure solution est celle de créer une copie de la base zotero.sqlite et d'accéder à celle-ci avec les autres clients SQL.
 +
 +Créer préalablement un dossier //zotero_copy// à côté du dossier de Zotero.
 +Effectuer ensuite la commande copier ci-dessous (cp) après chaque modification de la base via le
 +
 +<code bash>
 +cd  [PATH to zotero.sqlite]
 +cp -pv zotero.sqlite ../zotero_copy/zotero.sqlite
 +</code>
 +
 +On peut aussi effectuer cette opération manuellement.
 +
 +
 +===== Solution trouvée dans un forum =====
 +
 +
 +**Always make a copy of Zotero database first !**
 +
 +<code bash>
 +cp -pv zotero.sqlite zotero.sqlite2
 +rm -f zotero.sqlite
 +mv zotero.sqlite2 zotero.sqlite
 +</code>
 +
 +
 +Source: [[https://stackoverflow.com/questions/16419654/effectively-unlocking-an-sqlite-database|effectively unlocking an SQLite database]]
 +
 +Repair database: [[https://www.zotero.org/utils/dbfix/|Zotero Database Repair Tool]]Your database has been rebuilt.
 +
 +<code>
 +The new file is available here:
 +
 +https://www.zotero.org/utils/dbfix/files/XG0S06XU/zotero.sqlite.zip (11605KB)
 +
 +After downloading this file, unzip it, close Zotero, and place the extracted zotero.sqlite in your Zotero data directory, replacing the existing file. If there is a zotero.sqlite.is.corrupt file in the directory, delete it. (Be sure you've made a backup of the entire 'zotero' folder before performing these steps!)
 +
 +When you're done, restart Zotero.
 +
 +Please reference Upload ID 5c7841428fcf6 in any correspondence with the Zotero team regarding this repair.
 +</code>
 +===== Accès depuis une autre base de données SQLite =====
 +
 +Apparemment marche seulement avec les clients à accès direct et non avec ceux qui utilisent le connecteur JDBC.
 +
 +<code sql>
 +ATTACH '/Users/fberetta/Zotero/zotero.sqlite' as zotero;
 +PRAGMA database_list;
 +select * FROM zotero.v_zotero_items limit 10;
 +</code>
 +
 +Si la base de données de Zotero est inaccessible (message d'erreur: //database is locked//) il faut simplement copier la base de données, la coller dans un autre dossier, puis la recopier de nouveau et la recoller dans le dossier d'origine:
 +
 +   If you want to remove a "database is locked" error then follow these steps:
 +   Copy your database file to some other location.
 +   Replace the database with the copied database. This will dereference all processes which were accessing your database file. (Source: [[https://stackoverflow.com/questions/151026/how-do-i-unlock-a-sqlite-database/1027493#1027493|How do I unlock a SQLite database?]])
 +
 +Ne surtout pas effacer le fichier zotero.sqlite-journal !
 +Et faire aussi des **copies de sauvegarde férquentes et régulières** de la base Zotero.
 +
 +
 +\\
 +Mise à jour des données de la table zotero_data. Exécuter ce script SQL:
 +<code sql>
 +DELETE FROM zotero_data;
 +INSERT INTO zotero_data (itemId, typeName, datation, title)
 +SELECT itemID, typeName, datation, title FROM zotero.v_zotero_items;
 +</code>
 +
 +
  
td_histoire_numerique/zotero.1551287544.txt.gz · Dernière modification : de fberetta