2017-06-14 1 views
1

Environnement de développement: VB.NET .net 4.5 ODP.NET Oracle 11gOracleDataAdapter retour erreur ORA Started-00942: table ou vue n'existe pas

Salut là, j'ai un problème bizarre, le code dans mon environnement de développement qui a travaillé pendant un bon nombre d'années a soudainement cessé de fonctionner. OracleDataAdapter renvoie l'erreur ORA-00942: la table ou la vue n'existe pas. Cependant, il n'y a rien de mal avec le SQL qui est passé à l'adaptateur, le SQL s'exécute avec succès dans SQLDeveloper. Il semble que le problème concerne mon environnement de développement VS, car une version précédemment compilée de l'application fonctionne normalement. J'ai recompilé toute la solution VS et redémarré ma machine de développement, puis recompilé sans joie.

L'erreur exacte retournée est affichée dans l'entrée du journal suivant:

12 | 09: 43: 50 | DOMAIN \ USER | Trace | Oracle.DataAccess.Client.OracleException ORA-00942: la table ou la vue n'existe pas
at Microsoft.VisualBasic.CompilerServices.Symbols.Container.InvokeMethod (Méthode TargetProcedure, Object [] Arguments, Boolean [] CopyBack, BindingFlags Flags) at Microsoft.VisualBasic.CompilerServices.NewLateBinding.ObjectLateGet (instance d'objet, Type Type, String MemberName, Arguments Object [], String [] ArgumentNames, Type [] TypeArguments, Boolean [] CopyBack) à Microsoft.VisualBasic.CompilerServices.NewLateBinding.LateGet (Instance d'objet, Type de type, String MemberName, Object [] Arguments, String [] ArgumentNames, Type [] TypeArguments, Boolean [] CopyBack) à QueryMain.uxBWFetch_DoWork (Expéditeur d'objet, DoWorkEventArgs e) dans d: \ users \ USER \ Documents_VSSWorkArea \ PSALERTS 2017 \ PSALERTS Client \ Query \ QueryMain.vb: ligne 677

Voici le code qui génère l'erreur:

 Dim myDataset As New DataSet 
     Dim myUtils As New Utils 

     _myConnection = New OracleConnection 
     _myConnection.ConnectionString = _connectStr 

     Try 
      _myDataAdapter = New OracleDataAdapter(SQLStatement, _myConnection) 
      _myDataAdapter.Fill(myDataset) 
      _myConnection.Close() 
     Catch ex As Exception 
      Throw 
     Finally 
      CType(_myConnection, IDisposable).Dispose() 
     End Try 

     Return myDataset 

     GC.Collect() 

L'erreur est généré lorsque nous essayons de remplir l'ensemble de données:

_myDataAdapter.Fill (MyDataSet)

Si quelqu'un a rencontré cette situation pourriez-vous s'il vous plaît laissez-moi savoir, car il me conduit à la distraction !!!

Cordialement Paul J.

Répondre

0

Eh bien maintenant, ne pas que je me sens stupide. Il s'avère que mon intention était de développer sur notre base de données de test, le SQL généré dans le code contenait une chaîne connectée en dur qui pointait en production, et bien sûr le code contient des références à de nouvelles tables qui ne sont pas en production, d'où le message d'erreur ... DOH ...

+0

En général, vous devriez simplement suivre ce que dit le message. Dans ce cas, il a déclaré que la table n'est pas là. Pour cette raison, j'ai été surpris que vous n'ayez pas inclus l'instruction SQL elle-même. Les causes courantes de ce problème dans Oracle incluent les problèmes de sensibilité à la casse et, bien sûr, la connexion à la mauvaise base de données;). –