2010-08-09 9 views
0

J'ai installé avec succès Oracle natif sur 10.6, et peut compiler et exécuter avec succès l'exemple de code Pro * C en utilisant le 'Oracle' compte (c'est-à-dire le même utilisateur du système d'exploitation que celui dans lequel le logiciel a été installé). C'était un travail amusant. Il fonctionne même avec clang. Cependant, dans notre environnement de développement normal, la source, les scripts de construction, les fichiers make, etc., sont la propriété d'un groupe et d'un utilisateur Unix différents - avec accès à un ensemble restreint d'outils Oracle (sqlplus, exp, proc, etc.).Quelqu'un at-il Oracle Pro * C pour travailler sur OS X 10.6 en utilisant un compte d'utilisateur non-Oracle

Essayer d'utiliser sqlplus de l'oracle installation a donné le (problème connu)

dyld: Library not loaded: /b/227/sqlplus/lib/libsqlplus.dylib 

Ceci malgré DYLD_LIBRARY_PATH certainement être correctement réglé. Quelqu'un qui avait fait plus d'enquête pensait que quelque part le long de la ligne le chemin de la bibliothèque était en train d'être mis à l'arrêt avant le début du processus. J'ai abandonné et j'ai simplement utilisé l'instantclient à la place.

Malheureusement, le SDK du client instantané est uniquement OCCI - il n'inclut pas le compilateur pro * c.

Donc, je suis de retour à essayer d'obtenir l'utilisateur «dev» pour pouvoir exécuter «proc» dans le répertoire bin oracle. J'ai déjà résolu un problème dylib (en utilisant un lien symbolique), et divers problèmes d'autorisation de fichiers (besoin d'accorder -r aux fichiers de la hiérarchie du répertoire/precomp).

Maintenant, je suis obtenir une décharge de base (ce qui ne se produit pas lors de l'exécution sous l'utilisateur oracle)

System default option values taken from:  
/Users/oracle/product/10.2.0/db_1/precomp/admin/pcscfg.cfg 

INTERNAL ERROR: Failed assertion [PGE Code=90105] 

Segmentation fault 

Toutes les suggestions? Est-ce que quelqu'un a effectivement réussi cela?

+0

Ah, bien sûr - erreur d'autorisation simple (merci Google) - le compilateur proc essayait d'écrire dans le même répertoire que la source, pas local. Bon codage défensif et gestion des erreurs. Un autre pas en avant - maintenant j'ai juste besoin d'obtenir mon lien fonctionnant aux structures standard de sqlca, etc. – JulesLt

+1

Est-ce que cela signifie que vous pouvez fermer la quête? Si oui, mettez votre propre réponse et acceptez-la. –

+0

Pas encore, mais j'espère que bientôt. Il s'avère être 'intéressant' (l'exemple requis make file, etc, ne sont pas à l'endroit documenté). – JulesLt

Répondre

1

Le premier problème que j'ai eu a été résolu en accordant l'accès en lecture au répertoire/precomp/sous-répertoires sous l'installation d'Oracle (la question a ensuite été éditée pour mon prochain problème).

Par défaut, le compilateur proc écrit dans le répertoire où le fichier de code source existe, pas local. Correctif simple - spécifiez le nom de fichier cible par chemin. Cela a produit avec succès le fichier .c. Obtenir ceci pour compiler est un cas de donner accès et spécifier, les bibliothèques droites à relier dedans (les 64 bits instantclient travailleront ici).

Enfin, piratez l'exemple en forme.