缘来路过 发表于 2018-9-11 07:38:57

连接oracle数据库的方式

  一、在配置文件中,存放oracle连接字符串
  1.连接字符串:

  "data source=127.0.0.1/TEST;user>  2.provider[提供商],有两种:'OraOLEDB.Oracle' 为oracle公司提供,'msdaora'为微软公司提供。
  二、连接方式
  1. NET 4.0之前,可采用System.Data.OracleClient类库中的访问数据库的方式

  string connectionString = "data source=127.0.0.1/TEST;user>  OracleConnection conn = new OracleConnection(connectionString);
  conn.Open();
  OracleDataAdapter oda = new OracleDataAdapter("SELECT * FROM USER", conn);
  DataTable dtDataSource = new DataTable();
  oda.Fill(dtDataSource);
  2. NET4.0以后,微软终止了System.Data.OracleClient,可采用System.Data.OleDb类库中的相应方式【也可采用OracleClient,在添加dll引用时要将目标框架设置为.net4.0】
  如果采用System.Data.OleDb方式,则需要连接字符串中写出提供商provider='OraOLEDB.Oracle'
  3.如果客户端是 AMERICAN_AMERICA.ZHS16GBK编码
  服务器是西文编码,则采用oledb方式连接数据库,连接串中加入provider='MSDAORA.1',这样查询出来的数据不会出现乱码【使用oledb连接数据库连接串中必须写provider】
  4. 含blob字段,采用OracleClient方式,无需写provider;如果用oledb方式,则提供商采用'OraOLEDB.Oracle' ,否则blob字段获取会有异常
  Clob、blob都可以用来存储文件的比特流,也可以存储超过4000的字符串
  存储时该字段用oracle参数来存储,取出时,与其他类型字段一样。只是取出来之后转换成存储的类型
  5. 如果客户端、服务器都是AMERICAN_AMERICA.ZHS16GBK编码则有两种方式:
  1.oledb方式,连接串中加入provider='OraOLEDB.Oracle'
  2.oracleClient方式连接数据库,连接串中不添加provider
  三、如果是win7系统,可能存在以下问题:
  1.正确书写连接方式后,扔无法正常连接,手动打开数据库之后不报错。这很可能是权限设置问题。设置为管理员身份运行即可。

页: [1]
查看完整版本: 连接oracle数据库的方式