ODBC

开放数据库连接(Open Database Connectivity,ODBC)是微软公司开放服务结构(WOSA,Windows Open Services Architecture)中有关数据库的一个组成部分。ODBC可以连接多种数据库。

可能的连接字符串:

/*可能的连接字符串:

"Driver={SQL Server};Server=(local);Trusted_Connection=Yes;Database=AdventureWorks;"

"Driver={Microsoft ODBC for Oracle};Server=ORACLE8i7;Persist Security Info=False;Trusted_Connection=Yes"

"Driver={Microsoft Access Driver (*.mdb)};DBQ=c:\bin\Northwind.mdb"

"Driver={Microsoft Excel Driver (*.xls)};DBQ=c:\bin\book1.xls"

"Driver={Microsoft Text Driver (*.txt; *.csv)};DBQ=c:\bin"

"DSN=dsnname"*/

View Code

连接实例:

string connStr = string.Format("Driver={2}Microsoft Access Driver (*.mdb){3};DBQ={0};PWD={1};", mdbPath, dbPassWord,"{","}");//连接本地带密码的mdb

connStr = string.Format("Driver={2}Oracle in OraDb11g_home1{3};Server=orcl;Persist Security Info=False;Trusted_Connection=Yes;UID={0};PWD={1}","aqgis", "1", "{", "}");//连接oracle数据库aqgis,密码1----Oracle in OraDb11g_home1为驱动名称

OdbcConnection OdbcConn = newOdbcConnection(connStr);

OdbcConn.Open();

OdbcDataAdapter pAdapter= new OdbcDataAdapter("select * from MDARESULT", OdbcConn);

DataSet pOdbcDataset= newDataSet();

pAdapter.Fill(pOdbcDataset);

OdbcConn.Close();

其中Oracle in OraDb11g_home1为驱动名称,如下图:

也就是说,在上图中所有安装的驱动程序,都可以通过ODBC进行调用。特别注意,驱动的名称必须与系统写的完全一致,空格也不可以省略!!

下面的例子都是打开同一个mdb实例,使用了不同的驱动程序,方法:

string pDriverName = "Driver do Microsoft Access (*.mdb)";//空格不可以省略

pDriverName = "Microsoft Access Driver (*.mdb)";//空格不可以省略

pDriverName = "Microsoft Access Driver (*.mdb, *.accdb)";//空格不可以省略

pDriverName = "Microsoft Access-Treiber (*.mdb)";//空格不可以省略

connStr= string.Format("Driver={0}{1}{2};DBQ={3};PWD={4};", "{", pDriverName, "}", mdbPath, dbPassWord);//本地;mdbPath-文件路径;dbPassWord-mdb文件密码,没有可去掉。

OdbcConnection OdbcConn = newOdbcConnection(connStr);

OdbcConn.Open();

OdbcDataAdapter pAdapter= new OdbcDataAdapter("select * from MDARESULT", OdbcConn);

DataSet pOdbcDataset= newDataSet();

pAdapter.Fill(pOdbcDataset);

OdbcConn.Close();

Oledb

可能的连接字符串:

"Provider=MSDAORA; Data Source=ORACLE8i7;Persist Security Info=False;Integrated Security=Yes"

"Provider=Microsoft.Jet.OLEDB.4.0; Data Source=c:\bin\LocalAccess40.mdb"

"Provider=SQLOLEDB;Data Source=(local);Integrated Security=SSPI"

例子:

//带密码的mdb-两种写法OLEDB.4.0//string connstr = string.Format("Provider=Microsoft.Jet.OLEDB.4.0 ;Data Source={0};User Id=Admin;PassWord={1};", mdbPath, dbPassWord);

string connstr = string.Format("Provider=Microsoft.Jet.OLEDB.4.0 ;Data Source={0};Jet oledb:database password={1};", mdbPath, dbPassWord);//OLEDB.12.0(可打开.accdb)//string connstr = string.Format("Provider=Microsoft.ACE.OLEDB.12.0 ;Data Source={0};Jet oledb:database password={1};", mdbPath, dbPassWord);

OleDbConnection pConn= newOleDbConnection(connstr);

pConn.Open();

OleDbDataAdapter adapter= newOleDbDataAdapter();

DataSet db_filePath= newSystem.Data.DataSet();

adapter.SelectCommand= newOleDbCommand(sqlstr, pConn);

adapter.Fill(db_filePath);

Oledb也可以像ODBC那样,使用不同的驱动连接数据库,只需要修改驱动提供名称(Provide)即可。

新建文本文档,将文本文档重命名为:“打开数据链接属性对话框(Oledb驱动列表).udl”,双击该文件即可打开下面的对话框:

列表中的驱动程序都可以用来进行数据库操作!

Oracle

例子:

string connectionString = string.Format("Data Source={0};User Id={1};Password={2};", "orcl", "aqgis", "1");//orcl实例名,aqgis用户名using (System.Data.OracleClient.OracleConnection connection = newSystem.Data.OracleClient.OracleConnection(connectionString))

{

connection.Open();

System.Data.OracleClient.OracleDataAdapter pAda= new System.Data.OracleClient.OracleDataAdapter("select * from MDARESULT", connection);

DataSet pOracleDt= newDataSet();

pAda.Fill(pOracleDt);

}

c# oldb连接_C# 连接数据库(ODBC、Oledb、Oracle)相关推荐

  1. c# oldb连接_C#使用ODBC与OLEDB连接数据库的方法示例

    本文实例讲述了C#使用ODBC与OLEDB连接数据库的方法.分享给大家供大家参考,具体如下: using System; using System.Collections.Generic; using ...

  2. c# oldb连接_C#中Excel 2016的oledb连接字符串

    通过Office 365程序从本地安装的Office 13升级到Office 16后,我发生了这种情况.我得到了这个例外:'Microsoft.ACE.OLEDB.12.0'提供程序未在本地计算机上注 ...

  3. c# oldb连接_C#使用 OleDbConnection 连接读取Excel

    /// ///读取Excel中数据/// /// /// /// public static DataTable GetExcelTableByOleDB(string strExcelPath, s ...

  4. c# oldb连接_C#如何使用 OleDbConnection 连接读取Excel?(代码实例)

    本篇文章给大家带来的内容是C#如何使用 OleDbConnection 连接读取Excel?(代码实例).有一定的参考价值,有需要的朋友可以参考一下,希望对你们有所助./// /// 读取Excel中 ...

  5. AliasDB:简单统一灵活的数据库访问库(支持MSSQL/MySQL/SQLite/Oracle/ODBC/OleDb)适用于中小型系统...

    数据库访问各种规模的应用程序不可避免的操作,.NET对提供了简单方便统一的数据库访问类,并且通过Enterprise Lib提供了更为顶层的数据库访问库.在我的人个工作中,现在用得最多的就是通过&qu ...

  6. odbc spoon连接postgre_ado、odbc连接Postgre SQL

    http://blog.csdn.net/bao_qibiao/article/details/5330174 文章中提及: "首先,从下面的站点下载最新的OleDB Provider Fo ...

  7. Zabbix如何通过ODBC对接Oracle获取相关数据

    转载来源 :https://mp.weixin.qq.com/s/PNl3c8frgqIYjDnVsQALHA 目 录 什么是ODBC及其主要功能 安装Oracle-instantclient 配置S ...

  8. 连接服务器失败可能是oracle net,ora-28547:连接服务器失败,可能是 Oracle Net 管理失败...

    检查如下: 监听程序的配置文件 发现多了 (PROGRAM = extproc) 去掉后如下: # listener.ora Network Configuration File: C:\oracle ...

  9. oracle连接 无监听程序,“Oracle 连接报错:ORA-12541: TNS: 无监听程序”解决方案 | 学步园...

    环境描述: Oracle数据库部署在远程机器虚拟机上,本地配置Oracle网络配置,通过PL/SQL连接数据库: 本地已经配置了Oracle Net Manager文件,但是测试后,连接不上Oracl ...

最新文章

  1. 邮件整体解决方案_面向未来的冻干机进出料解决方案:阿尔法(ALUS)系列自动进出料系统...
  2. 错误处理,触发,日志使用,异常机制
  3. 3.9 神经网络的梯度下降法-深度学习-Stanford吴恩达教授
  4. Java位操作:如何将long类型的指定位设置为0或1?How to set/unset a bit at specific position of a long?
  5. 惊了,电子元件还能这样玩?这是电子器件的艺术魅力
  6. Android wakelock 自上而下浅析
  7. win7需要计算机管理员权限,Win7系统提示“需要管理员权限”如何解决?
  8. 用js实现鼠标点击爱心特效
  9. 这位 GitHub 冠军项目背后的“老男人”,堪称 10 倍程序员本尊!
  10. [渝粤教育] 西南科技大学 英语(A)2-在线考试复习资料
  11. c语言冒泡排序算法解析
  12. 移动端h5页面监听手机横屏
  13. 国外、国内Hadoop的应用现状
  14. 蓝桥杯 算法训练 寂寞的数(c语言版详细注释)
  15. 【机器学习|数学基础】Mathematics for Machine Learning系列之矩阵理论(18):方阵的幂级数
  16. 现代软件工程讲义 7 分析和设计方法
  17. Python爬取两个城市之间的直线距离
  18. 动态水印跟踪去除_视频动态水印如何去除 视频中不定时出现的图片加文字广告如何尽量模糊处理...
  19. wp8手机用得真憋屈
  20. 代码题 10进制转任意进制

热门文章

  1. Spring的Bean属性依赖注入
  2. 南昌大学计算机接收调剂的条件,关于2018年河南昌大学学硕士研究生接收调剂程序及要求的须知详情...
  3. phpnow 安装apache失败_PHPnow安装服务[apache_pn]失败的问题的解决方法
  4. C语言求一个文件的长度,求二进制文件的长度
  5. 2D转换之旋转rotate(CSS3)
  6. CSS3属性选择器(CSS3)
  7. vue-cli 外部引入vue-router报错 Uncaught TypeError: Cannot redefine property: $router
  8. oracle merge into 优化,ORACLE 10g 的 merge into用法
  9. string转int的方法_Spark——scala 实用小方法
  10. 都是第一,3143亿背后科技公司贡献了多少?