2010-05-12 16 views
4

Dans Windows XP, je démarre sqlloader.exe pour charger des données sur Oracle. Cela fonctionne très bien, jusqu'à ce que mon mot de passe contienne @ -sign, qui est également utilisé par les paramètres sqlloader pour déterminer la base de données à laquelle se connecter: sqlldr.exe userid/password @ database control = ctrlfile.ctlSQLLoader avec un mot de passe contenant @ -signs

Comment faire sqlldr .exe accepte un mot de passe comme p @ ssword?

J'ai essayé avec des guillemets simples/doubles: sqlldr.exe "user/p @ ssword" @database sans succès. J'ai essayé d'ignorer tout l'utilisateur/mot de passe, de le taper sur la console, sans succès.

Même google ne pouvait pas m'aider (même si cela m'a amené sur ce site génial).

Répondre

0

L'avez-vous essayé avec un fichier de paramètres? Je pense que cela vous permettrait d'avoir n'importe quel mot de passe que vous voulez. Sur le site d'Oracle:

PARFILE = path_ file_name 

SQL Loader Tells lire les valeurs des paramètres de ligne de commande à partir d'un fichier texte. Ce fichier texte est appelé fichier de paramètres et contient des paires mot-clé/valeur. Habituellement, les paires mot-clé/valeur sont séparées par des sauts de ligne. L'utilisation du paramètre PARFILE permet d'économiser beaucoup de frappe si vous devez effectuer le même chargement plusieurs fois, car vous n'aurez pas besoin de retaper tous les paramètres de ligne de commande à chaque fois. Il n'y a pas d'extension par défaut pour les fichiers de paramètres. *

5

Il échouera également à utiliser le parfile. Vous avez juste besoin d'échapper au mot de passe \ » comme suit: nom d'utilisateur/\ " p @ ssword \" @ base de données

ne sais pas pourquoi personne a posté cette solution avant

Cheers, Bernardo

+0

Sidenote: lorsque vous utilisez%, vous devez doubler le signe%, quelle que soit l'encapsulation – Wouter