Ci-dessous, les différences entre deux révisions de la page.
| Prochaine révision | Révision précédente | ||
|
td_histoire_numerique:zotero [2019/02/27 18:12] Francesco Beretta créée |
td_histoire_numerique:zotero [2019/03/01 17:29] (Version actuelle) Francesco Beretta [Meilleure solution] |
||
|---|---|---|---|
| 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> | ||
| + | |||
| + | |||