F.A.Q. Oxygène sur SQL Server
Erreur au début de la migration « Table inexistante SYSDOSS » « Table non définie … DEV_DOS » « Impossible d'insérer la valeur NULL dans la colonne IDENT » Impossible de se connecter depuis un autre ordinateurErreur au début de la migration
L’opération n’a pas aboutir en raison de l’erreur suivante :
[DBNETLIB][ConnectionOpen (Connect()).] Ce serveur SQL n’existe pas ou son accès est refusé.
Objet : SQLTOOLS-TRANSFERT_COMPLET
Méthode : EXISTENCE_DBDEST
Vérifier le nom du serveur SQL dans la ligne de commande. Syntaxe : SQL=[nom ordinateur]\[nom instance SQL]
« Table inexistante SYSDOSS »
Ceci indique simplement qu’Oxygène n’arrive pas à se connecter au serveur SQL (ou aux bases du système).
- Vérifier que le service « SQL Server » est bien actif.
- Vérifier le paramètre SQL= dans la ligne de commande (ou dans le fichier oxydev\systeme\bin\oxyconfig.ini)
- Dans SQL Server, autoriser les utilisateurs Windows sur toutes les bases.
NB : Oxygène supporte uniquement « l’identification Windows » pour SQL Server.
« Table non définie … DEV_DOS »
C’est un bug de la version 8.06 ; corrigé à partir de la 8.06.74.
Supprimer ou renommer oxydev\systeme\bin\syspaseu.dll
« Impossible d'insérer la valeur NULL dans la colonne IDENT »
Par exemple sur la table GESCOM_DEMO.dbo.GCPTEXTE (version 8.06 <74).
Cela signifie que le champ IDENT est déclaré en tant que Clé primaire et qu'on essaie de créer un enregistrement où IDENT est vide. Soit IDENT n'est pas réellement une clé primaire soit un bug fait que ce champ se retrouve vide.
Dans le cas de GCPTEXTE, IDENT n'est pas une Clé primaire : il faut supprimer cette propriété depuis le Descripteur de données d'Oxygène mais aussi du côté de SQL Server (supprimer la table ou la re-migrer).
Impossible de se connecter depuis un autre ordinateur
Au niveau des propriétés du serveur Microsoft SQL Server, cocher Autoriser les accès distants à ce serveur.
Vérifier que les utilisateurs Windows du serveur existent sur tous les ordinateurs et peuvent s'y connecter (si le réseau utilise un serveur de domaine, vérifier dans ActiveDirectory).
Activer les Services LAN de SQL Server.
Vérifier que les firewall ne bloquent pas les connexions :
- au niveau du serveur, il faut ouvrir les ports 1433 (TCP) et 1434 (UDP). Cf. http://msdn.microsoft.com/fr-fr/library/ms175043.aspx
- au niveau de chaque ordinateur.