2010-12-08 53 views

Répondre

2

à partir de SQL Anywhere 10.0, le serveur de base de données ne lit plus les fichiers de base de données créés avec les anciens logiciels; ils doivent être reconstruits. Le plus simple serait de décharger votre base de données dans un nouveau en utilisant l'outil dbunload. Vous pouvez le faire en une seule étape:

dbunload -c uid=<user>;pwd=<password>;dbf=<DBFileName> -an <newDBFileName> 

Cela va créer un nouveau fichier de base de données que vous pouvez exécuter en utilisant le serveur de la version 12. Si vous ne pouvez pas le faire en une seule étape (parfois un nouveau serveur a du mal à décharger une ancienne base de données), vous pouvez avoir à le faire en plusieurs étapes:

  1. Utilisez l'utilitaire dbunload livré avec le vieux logiciel pour décharger la base de données en utilisant quelque chose comme dbunload -c uid=<user>;pwd=<password>;dbf=<DBFileName> unload. Cela va créer un répertoire appelé "décharger" et stocker un tas de fichiers .dat dedans. Il créera également un script "reload.sql".
  2. Arrêtez l'ancien serveur.
  3. Utilisez l'utilitaire dbinit fourni avec le logiciel nouveau pour créer une nouvelle base de données avec les paramètres appropriés (cryptage, classement, taille de page, etc.).
  4. Commencez la nouvelle base de données et exécuter dbisql -c uid=<user>;pwd=<password> reload.sql

divulgation complète: Je travaille pour Sybase SQL dans l'ingénierie Anywhere.

+0

merci pour la réponse! Je vais essayer ça! – Redi

+0

J'essayais d'utiliser dbunload (via rebuild.bat) mais je n'ai pas pu l'obtenir (v11) pour décharger une base de données v7. – pascal

+0

@pascal: Vous devrez peut-être le faire en plusieurs étapes. Je mettrai à jour ma réponse pour décrire les étapes. –