2010-11-06 3 views
7

J'essaie de me connecter à une base de données Oracle à partir de mon site Web (asp.net-mvc). Les seules informations que je dois vous connecter à la base de données est des instructions ODBC qui me dit d'aller:instructions odbc pour se connecter à oracle

  1. Il dit d'aller dans un oracle sur la machine et entrer dans ce dans un fichier TSNNames.ora et entrez ceci dans:

    DBNAME=(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=[machine])(port=[port])) 
        (CONNECT_DATA=(SID=[DBNAME]))) 
    
  2. puis de passer au panneau de contrôle et d'ajouter manuellement une connexion via l'assistant graphique.

Y at-il de toute façon que je puisse me connecter à cette base de données sans avoir à configurer cela? J'espérais simplement coller une chaîne de connexion et être sur mon chemin. Je déploie sur des machines différentes et je ne veux pas avoir le fardeau d'avoir à mettre à jour les fichiers .ora ou à passer par cette configuration de l'assistant graphique.

Est-ce que quelqu'un a une suggestion pour moi?

+0

NOTE: SID = DBNAME, pas votre nom d'utilisateur. – Gaius

Répondre

9

N'utilisez pas ODBC. ODP.NET est un pilote fourni par Oracle qui est basé sur le même modèle que SQL Server: il suffit de télécharger l'ensemble, la référence dans votre projet et de l'utiliser:

using (var conn = new OracleConnection("Some connection string")) 
    using (var cmd = conn.CreateCommand()) 
    { 
     conn.Open(); 
     cmd.CommandText = "SELECT id FROM foo"; 
     using (var reader = cmd.ExecuteReader()) 
     { 
      while (reader.Read()) 
      { 
      int id = reader.GetInt32(0); 
      } 
     } 
    }  
+0

Voir [ce stackoverflow] (http://stackoverflow.com/questions/659341/the-provider-is-not-compatible-with-the-version-of-oracle-client) pour plus de détails sur l'ensemble minimal de bibliothèques requises pour la distribution. –

2

Selon une question similaire, Manually connecting to database in Asp.net MVC, il n'y a pas de magie impliquée. Connectez-vous simplement à la base de données comme vous le feriez normalement.

Il y a un exemple VB @http://www.aspdev.org/articles/asp.net-mysql-connect/ C'est pour MySql mais devrait être assez simple pour passer à votre chaîne de connexion Oracle.

+0

Quelqu'un peut-il expliquer s'il vous plaît la downvote? Ai-je mal compris la question? – Farray

+0

Je pensais que c'était une réponse assez juste – DaveDev

+0

Upvoted pour compenser downvote déraisonnable. –

0

Il existe au moins un fournisseur ado.net pour Oracle qui ne nécessite pas de client Oracle sur la machine. Voir http://www.devart.com/dotconnect/oracle/. Devart appelle cette fonction "mode direct". Ce fournisseur spécifique Oracle fonctionnera probablement beaucoup mieux qu'un fournisseur ODBC.

Mais il y a quelque chose que je ne comprends pas? Vous avez construit une application mvc asp.net, vous n'avez donc qu'à l'installer sur un serveur. Alors quel est le problème?

Questions connexes