2014-04-18 3 views
-1

Je suis en train de connecter Visual Studio 2012 (C#) à Oracle 11g. J'ai exécuté avec succès les requêtes où aucune propriété de jointure n'est nécessaire. Mais voici une question que je veux exécuter à l'aide jointure naturelle:Oracle Data Adapter dans Visual Studio C#

comm.CommandText = "select * from friends natural join customer where username='"+username+"' or frnd_username ='"+username+"'"; 
     ds = new DataSet(); 
     da = new OracleDataAdapter(comm.CommandText, conn); 
     da.Fill(ds, "customer"); 
     dt = ds.Tables["customer"]; 

Je reçois une erreur dans le

da.Fill(ds, "customer"); 
déclaration

, je pense que c'est parce que je suis en train de remplir les données serties la table client au lieu des amis rejoignent naturellement le client. mais j'ai essayé aussi,

da.Fill(ds, "friends natural join customer"); 

encore je reçois une erreur.

L'erreur que j'obtiens est "OracleExceptionUnhandled". Il dit

External component has thrown an exception. 

Je me rends compte que vous obtenez cette erreur lorsque la requête donne une erreur dans SQL, mais je cette requête dans exécutiez SQL, cela a fonctionné très bien.

J'ai essayé de changer la requête, et il s'est bien exécuté sans la jointure naturelle, je suis assez sûr que l'erreur a quelque chose à voir avec la table avec laquelle je remplis l'ensemble de données.

Quelqu'un peut-il suggérer ce que je devrais écrire dans la parenthèse.

Merci à l'avance.

+0

Il serait intéressant de savoir quelle est l'erreur que vous obtenir. – Steve

+0

Il devrait y avoir une exception interne que vous obtenez qui devrait vous donner plus d'informations. – gunr2171

+0

'Le composant externe a levé une exception. 'Ne nous dit toujours rien. Continuez à aller plus loin. Il doit y avoir une sorte de message d'erreur utilisable. – gunr2171

Répondre

0

Essayez de modifier votre requête avec la jointure interne/gauche et le problème persiste, puis contactez votre administrateur de base de données.

Il s'agit en fait d'un problème de base de données. Chaque fois que je reçois cette erreur, je vérifie simplement ma requête dans l'éditeur sql et si ça marche bien, je contacte DBA.

0

Cette erreur peut être à cause de - Si SQL retourne aucune ligne, ou tout autre schéma n'existe pas ou une variable est devenue nulle et utilisée pour d'autres calculs