この資料では、ADO.NET の OLE DB マネージ プロバイダを使用して Oracle データベースにアクセスする方法について、実例を基に説明します。
必要条件
必要なハードウェア、ソフトウェア、ネットワーク インフラストラクチャ、および Service Pack は次のとおりです。 • Microsoft Windows 2000 Professional、Windows 2000 Server、Windows 2000 Advanced Server、Windows NT 4.0 Server のいずれか
• Oracle Client ツール (コンピュータにインストールされていること)
• Microsoft Visual Studio .NET
この資料は、次のトピックについて詳しい知識のあるユーザーを対象としています。 • Visual Studio .NET
• ADO.NET の基本および構文
• Oracle への接続
Oracle データベースへのアクセス手順
1. Oracle で次のステートメントを使用して、TestTable という名前のテーブルを作成します。
Create Table TestTable (c1 char(5));
2. 次のステートメントを実行して、TestTable にデータを挿入します。
Insert into TestTable c1 values('Test1');
Insert into TestTable c1 values('Test2');
Insert into TestTable c1 values('Test3');
3. Visual Studio .NET を起動します。
4. Visual C# .NET で新しい Windows アプリケーション プロジェクトを開きます。
5. プロジェクトに System.Data 名前空間への参照が含まれていることを確認し、含まれていない場合は追加します。
6. Button コントロールを Form1 に配置し、Name プロパティを btnTest に変更します。
7. 後続のコードで System、System.Data、System.Data.OleDb の名前空間を使用して宣言を修飾しなくてもよいようにするため、以下の例のように、using ステートメントに各名前空間を定義します。
using System;
using System.Data;
using System.Data.OleDb;
8. フォーム ビューに切り替え、[btnTest] をダブルクリックしてクリック イベント ハンドラを追加します。ハンドラに、以下のコードを追加します。
String sConnectionString =
"Provider=MSDAORA.1;User ID=myUID;password=myPWD;
Data Source=myOracleServer;Persist Security Info=False";
String mySelectQuery =
"SELECT * FROM TestTable where c1 LIKE ?";
OleDbConnection myConnection = new OleDbConnection(sConnectionString);
OleDbCommand myCommand = new OleDbCommand(mySelectQuery, myConnection);
myCommand.Parameters.Add("@p1", OleDbType.Char, 5).Value = "Test%";
myConnection.Open();
OleDbDataReader myReader = myCommand.ExecuteReader();
int RecordCount=0;
try
{
while (myReader.Read())
{
RecordCount = RecordCount + 1;
MessageBox.Show(myReader.GetString(0).ToString());
}
if (RecordCount == 0)
{
MessageBox.Show("No data returned");
}
else
{
MessageBox.Show("Number of records returned: " + RecordCount);
}
}
catch (Exception ex)
{
MessageBox.Show(ex.ToString());
}
finally
{
myReader.Close();
myConnection.Close();
}
9. プロジェクトを保存します。
10. [デバッグ] メニューの [開始] をクリックして、プロジェクトを実行します。
11. [btnTest] ボタンをクリックして、データを表示します。
========================================================================================
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using System.Data.OleDb;
using System.Collections;
using System.Configuration;
namespace ConnectionOracle
{
public partial class main : Form
{
public main()
{
InitializeComponent();
}
private void button1_Click(object sender, EventArgs e)
{
Configuration config = ConfigurationManager.OpenExeConfiguration("");
AppSettingsSection settings = (AppSettingsSection)config.GetSection("appSettings");
String connectionString = settings.Settings["connectionString"].Value;
String sqlString = settings.Settings["sqlString"].Value;
OleDbConnection conn = new OleDbConnection(connectionString);
OleDbDataReader reader;
DataTable table = new DataTable(); ;
try
{
conn.Open();
OleDbCommand cmd = conn.CreateCommand();
cmd.CommandText =sqlString+ " and rownum<=10";
using (reader = cmd.ExecuteReader())
{
table.Load(reader);
}
reader.Close();
conn.Close();
Console.WriteLine(table.Columns);
dataGridView1.DataSource = table;
}
catch (Exception ex)
{
Console.WriteLine(ex.Message);
}
finally
{
conn.Close();
}
}
private void main_Load(object sender, EventArgs e)
{
}
private void MainForm_FormClosing(object sender, FormClosingEventArgs e)
{
if (exitConfirm(e))
{
toRelease();
}
}
private bool exitConfirm(FormClosingEventArgs e)
{
bool exitFlag=false;
closeConfirm cc = new closeConfirm();
DialogResult dr = cc.ShowDialog(this);
if (dr == DialogResult.Cancel)
{
e.Cancel = true;
}
else
{
if (!cc.closePass.Text.Equals("123456"))
{
e.Cancel = true;
}
else
{
exitFlag = true;
}
}
return exitFlag;
}
private void toRelease() {
}
}
}
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<appSettings>
<add key="connectionString" value="Provider=MSDAORA;Data Source=ywinweb;Persist Security Info=True;Password=btw;User ID=btw"/>
<add key="sqlString" value="select ip_address,create_dt,model from t_log where log_level=0"/>
</appSettings>
</configuration>
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
namespace ConnectionOracle
{
public partial class closeConfirm : Form
{
public closeConfirm()
{
InitializeComponent();
}
private void button1_Click(object sender, EventArgs e)
{
this.DialogResult = DialogResult.OK;
}
}
}
分享到:
相关推荐
首先,你需要下载Oracle的数据提供程序,即Oracle Data Provider for .NET(ODP.NET)的Managed Driver版本。这是一个独立的组件,可以与Oracle客户端分开安装。你可以从Oracle官方网站的OTN(Oracle Technology ...
在访问Oracle数据库时,ADO.NET提供了通过ODBC和OLEDB两种方式。对于ODBC(Open Database Connectivity),关键在于设置`ConnectionString`属性,这个字符串包含了连接到数据库所需的所有信息,如服务器地址、数据库...
《Visual C#.NET访问数据库程序设计》主要探讨的是如何利用Microsoft的编程语言C#和ADO.NET框架来构建数据库访问应用程序。ADO.NET是.NET Framework的重要组成部分,它为开发者提供了高效、灵活的数据访问接口,支持...
**Microsoft OLE DB Provider for Visual FoxPro 9.0** 是一个数据访问接口,它允许开发者通过OLE DB技术与Visual FoxPro 9.0数据库进行交互。OLE DB(Object Linking and Embedding, Database)是微软提供的一种...
它允许.NET应用程序直接从Oracle数据库访问数据,而无需通过OLE DB或ODBC桥。***提供了连接池、性能优化和对Oracle数据库高级特性的支持。***的最新版本2.1提供了.NET Framework 4的支持,并且还有针对Oracle客户端...
本文将深入解析ASP.NET 2.0中各种数据库连接字符串的配置方法,旨在帮助开发者理解和掌握如何在不同的数据库环境下建立稳定、高效的连接。 ### ASP.NET 2.0与数据库连接 #### 一、SQL Server连接 使用`...
这些数据库的连接字符串会根据使用的.NET数据提供程序不同而变化。例如,MySQL的连接字符串可能如下: ``` Server=myServerAddress;Database=myDataBase;User Id=myUsername;Password=myPassword; ``` 5. Sybase, ...
首先,为了连接Oracle数据库,我们需要安装Oracle的数据提供程序,即ODP.NET。这可以通过下载Oracle Data Access Components (ODAC)来完成,其中包括对C#的.NET支持。安装后,ODP.NET的引用将可以在Visual Studio...
在`vc++.net`中,ADO通过`CAccessor`和`CRecordset`类提供数据访问,它们使用COM接口与数据库进行通信。ADO的优势在于其广泛的数据库支持、高性能和易用性。 `ODBC(Open Database Connectivity)`是一种开放的...
5. **Oracle Objects for OLE DB**: 支持OLE DB接口,允许.NET应用程序通过OLE DB协议访问Oracle数据库。 6. **Oracle Native Networking**: 提供高效、可靠的网络通信,确保与Oracle服务器的稳定连接。 **Visual ...
例如,SqlClient数据提供者用于与SQL Server数据库交互,而OleDb或Odbc数据提供者则用于支持其他类型的数据库(如Oracle、MySQL等)。 2. **DataSet**:DataSet是一个内存中的数据集合,可以视为轻量级的数据缓存。...
此外,对于较新版本的Excel文件(.xlsx),应使用`Microsoft.ACE.OLEDB.12.0`提供程序而不是`Microsoft.Jet.OLEDB.4.0`。如果你正在使用.NET Framework 4.0或更高版本,可能还需要安装Microsoft Access Database ...
- **ODBC .NET数据提供程序:** 也可以用于连接Access数据库,尽管效率可能不如OLEDB高。 #### 六、使用ODBC.NET数据提供程序 **题目6:** 为了在程序中使用ODBC.NET数据提供程序,应在源程序工程中添加对程序集____...
- System.Data.OleDb:OLE DB.NET数据提供程序适用于早期版本的SQL Server以及Sybase、Oracle、DB2和Access等其他数据库。 - System.Data.Odbc:ODBC.NET数据提供程序通过ODBC数据源访问多种数据库。 - System.Data....
如SqlDBOperator用于SQL Server,OleDBOperator用于OleDB兼容的数据库,ODBCDBOperator用于ODBC数据源,而DBOperator可能是这些数据库操作类的基类或抽象类,提供通用的方法和属性。此外,AssemblyInfo.cs是.NET框架...
通过ADO.NET或OleDb等数据访问技术,C#应用程序可以方便地与Oracle数据库进行交互,实现数据的增删改查操作。 系统的主要功能模块可能包括: 1. 员工信息管理:录入、修改和查询员工的基本信息,如姓名、部门、...
- 提供程序(Provider):如System.Data.SqlClient对应SQL Server,System.Data.OleDb对应OLE DB提供商等。 - 其他参数:如连接超时、 pooling(池化)设置、是否自动提交事务等。 2. **配置向导的使用**: - ...
这些数据源包括但不限于Microsoft SQL Server数据库、ODBC、OLEDB数据源、Oracle数据库以及XML数据。利用***技术,开发者可以构建出能够访问不同数据源的应用程序,执行数据的检索、插入、修改和删除操作,并以快速...
本文详细总结了各种数据库的连接字符串,包括但不限于ODBC DSN/DSN-Less连接、OLEDB数据链接连接、.NET Managed Provider连接等。开发者可以根据自己的需求选择合适的连接方式,并利用这些连接字符串快速地与数据库...
这些工具包含了Oracle Provider for OLE DB,Oracle Client,以及必要的DLL和其他支持文件,使得VS能够识别并处理Oracle相关的数据库操作。 "SetupODTforVS2013" 表明我们需要为Visual Studio 2013安装ODT。安装...