c#通过oledb连接Oracle代码

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了c#通过oledb连接Oracle代码相关的知识,希望对你有一定的参考价值。

rt

参考技术A 先装oracle客户端
1、控制面板->管理工具->数据源(ODBC)->添加数据源->选择oracle 客户端
Data Source Name 可以任意起名,推荐和SID一样
Description 描述
TNS Service Name 下拉菜单中会自动显示环境变量TNS_ADMIN所指目录下的tnsnames.ora文件中SERVICE_NAME的名称,也就是要连接的SID UserID 用户名
2、代码
string ConnectionString = "Data Source=orcl; User Id=SCOTT; Password=scott"; //连接字符串
OracleConnection conn = new OracleConnection(ConnectionString); //创建一个新连接

try

conn.Open(); //打开连接
OracleCommand cmd = conn.CreateCommand();

cmd.CommandText = "select * from emp"; //SQL语句
OracleDataReader rs = cmd.ExecuteReader();

while (rs.Read()) //读取数据,如果rs.Read()返回为false的话,就说明到记录集的尾部了

MessageBox.Show(rs.GetString(1));


rs.Close();


catch (Exception e)

MessageBox.Show(e.Message);

finally

conn.Close();
本回答被提问者采纳
参考技术B Oracle
ODBC

New version:
"Driver=Microsoft ODBC for Oracle;Server=OracleServer.world;Uid=Username;Pwd=asdasd;"

Old version:
"Driver=Microsoft ODBC Driver for Oracle;ConnectString=OracleServer.world;Uid=myUsername;Pwd=myPassword;"

OLEDB, OleDbConnection (.NET)

Standard security:
"Provider=msdaora;Data Source=MyOracleDB;User Id=UserName;Password=asdasd;"
This one's from Microsoft, the following are from Oracle
Standard Security:
"Provider=OraOLEDB.Oracle;Data Source=MyOracleDB;User Id=Username;Password=asdasd;"

Trusted Connection:
"Provider=OraOLEDB.Oracle;Data Source=MyOracleDB;OSAuthent=1;"

OracleConnection (.NET)

Standard:
"Data Source=Oracle8i;Integrated Security=yes";
This one works only with Oracle 8i release 3 or later
Declare the OracleConnection:

C#:
using System.Data.OracleClient;
OracleConnection oOracleConn = new OracleConnection();
oOracleConn.ConnectionString = "my connectionstring";
oOracleConn.Open();

VB.NET:
Imports System.Data.OracleClient
Dim oOracleConn As OracleConnection = New OracleConnection()
oOracleConn.ConnectionString = "my connectionstring"
oOracleConn.Open()

Data Shape

MS Data Shape:
"Provider=MSDataShape.1;Persist Security Info=False;Data Provider=MSDAORA;Data Source=orac;user id=username;password=mypw"

C#如何通过OleDb更新Excel中的数据

目前已实现C#通过OleDb读取Excel文件,然后创建一个新文件,将结果通过Insert的方式添加到新文件中。可否通过Update直接在原文件中修改呢?具体如何,可否提供代码?

网上看到如下参考代码,试了一下,发现行不通
string strComm = "update [Sheet1$] set Name='张三' WHERE 工号='132'";
OleDbConnection myConn = new OleDbConnection(strConn);
myConn.Open();
OleDbCommand com = new OleDbCommand(strComm, myConn);
com.ExecuteNonQuery();
myConn.Close();

参考技术A string strConn = "Provider=Microsoft.Ace.OleDb.12.0;Persist Security Info=False;" + "data source=" + @excelPath + ";Extended Properties='Excel 12.0; HDR=yes; IMEX=2'";
OleDbConnection conn = new OleDbConnection();
conn.ConnectionString = strConn;
try

OleDbCommand cmd = null;
try

cmd = new OleDbCommand("在这里写Update的SQL语句", conn);//(A,B,C,D,E,F,G)
cmd.ExecuteNonQuery();

catch (System.Exception ex)

textBox1.Text += ( ex.Message);
textBox1.Text += ("\r\n");
参考技术B 可以用EXCEL做简单的数据存储,不过数据库的索引、表分区等数据库的特性就不能使用了。还有标准SQL的一些功能也无法使用。
通过C#连接EXCEL可以通过OleDb数据提供程序来处理
参考技术C 发我你的Excel表,邮箱 M978718484@163.com 我应该能给你做出个例子来的

例子已发你邮箱了本回答被提问者采纳

以上是关于c#通过oledb连接Oracle代码的主要内容,如果未能解决你的问题,请参考以下文章

C#通过OleDb查询Oracle存储过程

C# OleDb OUT 参数在调用 oracle 过程时失败

C#如何通过OleDb更新Excel中的数据

通过 c# 连接访问

OLEDB连接Oracle连接字符串是啥?

无法通过 C# oledb 将记录插入 MS Access