`

.NET 连接Oracle数据库 OLE DB .NET 数据提供程序和 Visual C# .NET 访问 Oracle 数据库

 
阅读更多
この資料では、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客户端实现C#.NET连接远程Oracle数据库的一种方法

    首先,你需要下载Oracle的数据提供程序,即Oracle Data Provider for .NET(ODP.NET)的Managed Driver版本。这是一个独立的组件,可以与Oracle客户端分开安装。你可以从Oracle官方网站的OTN(Oracle Technology ...

    ADO.NET访问ORACLE数据库实例分析.pdf

    在访问Oracle数据库时,ADO.NET提供了通过ODBC和OLEDB两种方式。对于ODBC(Open Database Connectivity),关键在于设置`ConnectionString`属性,这个字符串包含了连接到数据库所需的所有信息,如服务器地址、数据库...

    Visual C#.NET访问数据库程序设计.ppt

    《Visual C#.NET访问数据库程序设计》主要探讨的是如何利用Microsoft的编程语言C#和ADO.NET框架来构建数据库访问应用程序。ADO.NET是.NET Framework的重要组成部分,它为开发者提供了高效、灵活的数据访问接口,支持...

    Microsoft OLE DB Provider for Visual FoxPro 9.0

    **Microsoft OLE DB Provider for Visual FoxPro 9.0** 是一个数据访问接口,它允许开发者通过OLE DB技术与Visual FoxPro 9.0数据库进行交互。OLE DB(Object Linking and Embedding, Database)是微软提供的一种...

    基于ODP.NET访问Oracle空间数据

    它允许.NET应用程序直接从Oracle数据库访问数据,而无需通过OLE DB或ODBC桥。***提供了连接池、性能优化和对Oracle数据库高级特性的支持。***的最新版本2.1提供了.NET Framework 4的支持,并且还有针对Oracle客户端...

    Asp.net 2.0 各种数据库连接字符串集合

    本文将深入解析ASP.NET 2.0中各种数据库连接字符串的配置方法,旨在帮助开发者理解和掌握如何在不同的数据库环境下建立稳定、高效的连接。 ### ASP.NET 2.0与数据库连接 #### 一、SQL Server连接 使用`...

    ADO.NET连接字符串大全

    这些数据库的连接字符串会根据使用的.NET数据提供程序不同而变化。例如,MySQL的连接字符串可能如下: ``` Server=myServerAddress;Database=myDataBase;User Id=myUsername;Password=myPassword; ``` 5. Sybase, ...

    C#连接Oracle数据库

    首先,为了连接Oracle数据库,我们需要安装Oracle的数据提供程序,即ODP.NET。这可以通过下载Oracle Data Access Components (ODAC)来完成,其中包括对C#的.NET支持。安装后,ODP.NET的引用将可以在Visual Studio...

    vc++.net数据库编程

    在`vc++.net`中,ADO通过`CAccessor`和`CRecordset`类提供数据访问,它们使用COM接口与数据库进行通信。ADO的优势在于其广泛的数据库支持、高性能和易用性。 `ODBC(Open Database Connectivity)`是一种开放的...

    Oracle Developer Tools for Visual Studio 2017

    5. **Oracle Objects for OLE DB**: 支持OLE DB接口,允许.NET应用程序通过OLE DB协议访问Oracle数据库。 6. **Oracle Native Networking**: 提供高效、可靠的网络通信,确保与Oracle服务器的稳定连接。 **Visual ...

    Visual C++.NET 数据库开发指南

    例如,SqlClient数据提供者用于与SQL Server数据库交互,而OleDb或Odbc数据提供者则用于支持其他类型的数据库(如Oracle、MySQL等)。 2. **DataSet**:DataSet是一个内存中的数据集合,可以视为轻量级的数据缓存。...

    excel数据导入oracle完整代码(C#)

    此外,对于较新版本的Excel文件(.xlsx),应使用`Microsoft.ACE.OLEDB.12.0`提供程序而不是`Microsoft.Jet.OLEDB.4.0`。如果你正在使用.NET Framework 4.0或更高版本,可能还需要安装Microsoft Access Database ...

    MAC_数据库访问技术-ADO[1].NET程序设计模拟题

    - **ODBC .NET数据提供程序:** 也可以用于连接Access数据库,尽管效率可能不如OLEDB高。 #### 六、使用ODBC.NET数据提供程序 **题目6:** 为了在程序中使用ODBC.NET数据提供程序,应在源程序工程中添加对程序集____...

    ADO.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框架...

    C# winform 人力资源管理系统 ,vs2010开发,oracle数据库

    通过ADO.NET或OleDb等数据访问技术,C#应用程序可以方便地与Oracle数据库进行交互,实现数据的增删改查操作。 系统的主要功能模块可能包括: 1. 员工信息管理:录入、修改和查询员工的基本信息,如姓名、部门、...

    .net中的连接字符串配置向导对话框

    - 提供程序(Provider):如System.Data.SqlClient对应SQL Server,System.Data.OleDb对应OLE DB提供商等。 - 其他参数:如连接超时、 pooling(池化)设置、是否自动提交事务等。 2. **配置向导的使用**: - ...

    基于ADO.NET技术访问SQL Server数据库的编程实现.pdf

    这些数据源包括但不限于Microsoft SQL Server数据库、ODBC、OLEDB数据源、Oracle数据库以及XML数据。利用***技术,开发者可以构建出能够访问不同数据源的应用程序,执行数据的检索、插入、修改和删除操作,并以快速...

    数据库连接字符串大全

    本文详细总结了各种数据库的连接字符串,包括但不限于ODBC DSN/DSN-Less连接、OLEDB数据链接连接、.NET Managed Provider连接等。开发者可以根据自己的需求选择合适的连接方式,并利用这些连接字符串快速地与数据库...

    vs连接oracle库

    这些工具包含了Oracle Provider for OLE DB,Oracle Client,以及必要的DLL和其他支持文件,使得VS能够识别并处理Oracle相关的数据库操作。 "SetupODTforVS2013" 表明我们需要为Visual Studio 2013安装ODT。安装...

Global site tag (gtag.js) - Google Analytics