我是oracle数据库的新手,所以我想知道如何使用visual studio 2013连接到oracle 10g
数据库。
好吧,我去了服务器资源管理器并添加连接,我选择数据源为Oracle Database
,数据提供者为.NET Framework Data Provider for OLE DB
。
在测试连接之后,我收到错误消息 -
ORA-06413: Connection not open.
我搜索了很多,但无法找到这个问题的正确答案。 请有人帮帮我。
好的,这就是我到现在为止所做的事情 -
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.Threading.Tasks;
using System.Windows.Forms;
namespace Hostel_Management_System
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void btn_login_Click(object sender, EventArgs e)
{
OleDbConnection con = new OleDbConnection("Data Source=localhost;Initial Catalog=XE;Provider=SQLOLEDB;user-name=system;password=mypassword");
con.Open();
MessageBox.Show(con.State);
}
}
}

我在System.Data.dll中收到System.Data.OleDb.OleDbException。
这有任何帮助吗?
答案 0 :(得分:0)
AFAIK创建连接到Oracle的.net应用程序的最佳方法是使用ODP.net,更具体地说是可用的托管驱动程序here。
托管驱动程序允许您避免在运行应用程序的计算机上安装Oracle客户端。 示例代码部分来自Oracle website:
using System;
using System.Data;
using Oracle.ManagedDataAccess.Client;
using System.Configuration;
class OracleConnectionSample
{
static void Main()
{
// Connect
const string connectionStringName = ...
string constr = ConfigurationManager.ConnectionStrings[connectionStringName].
ConnectionString;
using (var con = new OracleConnection(constr))
{
con.Open();
// Execute a SQL SELECT
using (OracleCommand cmd = con.CreateCommand())
{
cmd.CommandText = "select * from emp";
OracleDataReader reader = cmd.ExecuteReader();
// Print all employee numbers
while (reader.Read())
{
Console.WriteLine(reader.GetInt32(0));
}
}
}
}
}