Bonjour tout le monde ! premier post dans ce grand forum :p d'habitude je trouve toujours un truc pour me débloquer mais là je coince
Explications
- j'ai une base Oracle Express 10g sur un pc distant ;
- j'ai un WebServices dans Visual Studio 2005 ;
- ce WebServices se connecte à la base via les drivers ODBC.
Jusque là c'est simple :p
J'ai configuré mon driver ODBC dans Windows (le DSN), et pour me connecter à la base dans VS j'utilise ceci :
Mon DSN est a priori bien configuré car lorsque je run le service (en mode Debug ou en mode Release), le WebServices se lance, et lorsque je clic sur la méthode il me retourne bien un XML avec les données de la table.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22 [WebMethod] public DataSet GetAllActivities() { DataSet ds = null; string connectionString = "DSN=OracleDSNSystem;UID=SYSTEM;Pwd=test;Integrated Security=no;"; using (OdbcConnection conn = new OdbcConnection(connectionString)) { conn.Open(); using (OdbcCommand cmd = new OdbcCommand("SELECT * FROM activity_view", conn)) { OdbcDataAdapter adp = new OdbcDataAdapter(cmd); ds = new DataSet(); adp.Fill(ds); } conn.Close(); } return ds; }
Je me dit alors "il est temps de deployer ce WebServices !!!"
Générer -> Publier -> http://localhost/local-site-test/
Je choisi de supprimer les fichiers existants, de copier uniquement les fichiers nécessaire et d'inclure les fichiers du dossier App_Data. Voici un screen :
Je clic sur "Publier", tout se passe bien.
Je ferme ensuite VS.
Mon serveur IIS tournant, je vais à l'adresse http://localhost/local-site-test/POC_VDP_Service.asmx (le nom de mon webservices quoi :p)
C'est OK, la page s'affiche tout à fait bien. Je vois alors les opérations disponibles. Je clic sur "GetAllActivities". Pareil, la page s'affiche bien, m'affiche des exemple pour SOAP, etc. Je clic donc sur "Appeler" pour exécuter la méthode ! Et là, c'est le drame :
-> ça bloque au conn.Open()
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11 System.Data.Odbc.OdbcException: ERROR [IM002] [Microsoft][Gestionnaire de pilotes ODBC] Source de données introuvable et nom de pilote non spécifié à System.Data.Odbc.OdbcConnection.HandleError(OdbcHandle hrHandle, RetCode retcode) à System.Data.Odbc.OdbcConnectionHandle..ctor(OdbcConnection connection, OdbcConnectionString constr, OdbcEnvironmentHandle environmentHandle) à System.Data.Odbc.OdbcConnectionOpen..ctor(OdbcConnection outerConnection, OdbcConnectionString connectionOptions) à System.Data.Odbc.OdbcConnectionFactory.CreateConnection(DbConnectionOptions options, Object poolGroupProviderInfo, DbConnectionPool pool, DbConnection owningObject) à System.Data.ProviderBase.DbConnectionFactory.CreateNonPooledConnection(DbConnection owningConnection, DbConnectionPoolGroup poolGroup) à System.Data.ProviderBase.DbConnectionFactory.GetConnection(DbConnection owningConnection) à System.Data.ProviderBase.DbConnectionClosed.OpenConnection(DbConnection outerConnection, DbConnectionFactory connectionFactory) à System.Data.Odbc.OdbcConnection.Open() à poc_VincentDePaul.Service1.GetAllActivities() dans D:\programmation\VS2005\Projects\poc_VincentDePaul\poc_VincentDePaul\POC_VDP_Service.asmx.cs:ligne 152
Apparement il arrive pas a se connecter à la BDD avec les identifiants que je lui file..Qui fonctionnaient dans VS. J'ai vu quelque part que ça viendrais peut-être d'utilisateurs à ajouter dans IIS mais j'ai pas vraiment compris. Une piste ? Merci d'avance !
Benoit
Partager