Ciao,
ho un problema che non riesco ad uscirne eppure dovrebbe essere semplice, non riesco a connettermi al database da una semplice maschera di login, non avendo un messaggio di errore non so quale possa essere il problema. Come editor sto utilizzando Visual Studio 2013 Express Edition e andando in debug mi al momento di aprire la connessione va direttamente nell'eccezione.
Incollo il codice sperando che qualcuno mi possa aiutare.
codice:
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Data.OleDb;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
namespace WindowsFormsApplication1
{
public partial class Connessione : Form
{
public Connessione()
{
InitializeComponent();
}
private void Connessione_Load(object sender, EventArgs e)
{
}
private void Command2_Click(object sender, EventArgs e)
{
Application.Exit();
}
private void Command1_Click(object sender, EventArgs e)
{
string schema = Environment.GetEnvironmentVariable("MY_DB_ALIAS");
string users;
string Password;
users = text1.Text;
Password = text2.Text;
// string dbconnect = "Provider=MSDAORA.1;User ID='" + users + "';Password='" + Password + "';Data Source=" + schema;
string dbconnect = "Provider=OraOLEDB.Oracle;User ID='" + users + "';Password='" + Password + "';Data Source=" + schema;
MessageBox.Show(dbconnect, Password, MessageBoxButtons.OK, MessageBoxIcon.Exclamation, MessageBoxDefaultButton.Button1);
string strPROVA = "SELECT SYSDATE FROM DUAL;";
// using (OracleConnection connection = new OracleConnection(dbconnect))
using (OleDbConnection connection = new OleDbConnection(dbconnect))
{
OleDbCommand command = new OleDbCommand(strPROVA);
// OleDbCommand command = new OleDbCommand(strPROVA, connection);
command.Connection = connection;
// Open the connection in a try/catch block.
// Create and execute the DataReader, writing the result
// set to the console window.
try
{
connection.Open();
OleDbDataReader reader = command.ExecuteReader();
//////while (reader.Read())
//////{
////// Console.WriteLine("\t{0}\t{1}\t{2}",
////// reader[0], reader[1], reader[2]);
//////}
//////reader.Close();
}
catch (Exception ex)
{
MessageBox.Show("Errore!", "Errore", MessageBoxButtons.OK, MessageBoxIcon.Exclamation, MessageBoxDefaultButton.Button1);
}
Console.ReadLine();
}
}
}
}
Aggiungo che l'installazione del client Oracle, eseguita come runtime, comprende già i driver di connessione per Microsoft, lo stesso programma sviluppato con VB6 funziona utilizzando il provider MSDAORA.1.
Sto utilizzando la connessione OLEDB.