unity连接Oracle数据库
来源:互联网 发布:php require|token 编辑:程序博客网 时间:2024/05/14 05:31
一、最简单的连接方式,去Oracle官网下载 Oracle.managedDataAccess.dll,将其添加到plugins文件夹下(纯c#开发就直接在vs里面引用就好),接下来在vs里面 using Oracle.managedDataAccess.Client命名空间即可;不想去官网下载可以在这里下载。
以下是连接的简单示例:
在项目里可以建一个Conn类,专门用来处理数据库的连接以及查询等操作
public class ConnDB{ protected OracleConnection con; string connString = "User ID=sys;Password=root;DBA Privilege=SYSDBA;Data Source=(DESCRIPTION = (ADDRESS_LIST= (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.1.220)(PORT = 1521))) (CONNECT_DATA =(SERVICE_NAME = orcl)))"; public ConnDB() { con = new OracleConnection(connString); try { Open(); //Debug.Log("数据库连接成功"); } catch (Exception e) { Debug.Log(e); } } public void Open() { if (con.State == ConnectionState.Closed) { try { //打开数据库连接 con.Open(); } catch (Exception e) { throw e; } } } public void Close() { if (con.State == ConnectionState.Open) { con.Close(); } } public OracleDataReader ExecuteSql(string sql) { OracleCommand cmd = new OracleCommand(sql, con); OracleDataReader dr=null; try { dr= cmd.ExecuteReader(); } catch (OracleException e) { Debug.Log(e); } return dr; }}
再建一个测试类用于读取表数据,(别忘了引用命名空间)
public class Test{void Start(){Load();} void Load() { ConnDB db = new ConnDB(); OracleDataReader dr = db.ExecuteSql("select * from CK_BASIC_AREA"); while (dr.Read()) { CK_BASIC_AREA c = new CK_BASIC_AREA(); c.Area_id = dr["area_id"].ToString(); c.Area_code = dr["area_code"].ToString(); c.Area_name = dr["area_name"].ToString(); c.State = dr["state"].ToString(); c.Del_flag = dr["del_flag"].ToString(); c.Remark = dr["remark"].ToString(); c.Sec_lvl = dr["sec_lvl"].ToString(); ck_basic_area_Dic.Add(c.Area_id, c); } Debug.Log("CK_BASIC_AREA 加载完成"); db.Close(); }}
以上是读取oracle数据库的一种最简单的方法,需要注意的是要使用unity2017以上的版本,在playersetting 里面把脚本的.net版本改成4.6,因为导入的dll版本是4.x的。
还有几种方式也试过,没有成功,在此简单说一下:
二。也是使用Oracle官方提供的连接库,oracle.dataAcess.dll,(odp.net),这种方法貌似要安装客户端,或者需要其他的配置,比较麻烦
三. 微软提供的库:system.data.oracleClient.dll ;有2.0版本的,也有4.x版本的,所以使用unity 5.x的可以到mono 的库里面找到对应的dll,但要引入其他的dll 如oci.dll,之类的,尝试过可以连接但查表一直出现错误,还有一点就是连接的数据库字符串不支持 数据库角色选择,即DBA Privilege=SYSDBA;一种解决方法可以在数据库下新建用户不指定角色。
四。使用第三方库;DDTek.Oracle.dll 没用过
阅读全文
0 0
- unity连接Oracle数据库
- Unity连接数据库
- unity连接MySQL数据库
- unity之连接数据库
- unity连接数据库工具
- Unity连接MySQL数据库
- Unity连接MySQL数据库
- unity连接MySql数据库
- Unity 连接操作数据库
- unity直接连接数据库
- oracle 连接 oracle数据库
- 【Unity】【坑】Unity连接MySQL数据库
- <Unity3D>unity连接数据库MySQL
- unity学习之连接数据库
- unity之连接SQLite数据库
- unity连接sqlite数据库操作
- Unity连接SQL数据库方法
- Unity 如何连接Mysql数据库
- Kubernetes addons Heapster
- leetcode 421. Maximum XOR of Two Numbers in an Array 最大的异或运算值
- PHP 自带 Web Server
- 排序算法总结
- jvisualvm安装visualgc插件
- unity连接Oracle数据库
- 云计算+物联网的前景更加诱人
- ant
- linux内核调试技巧四:gdb调试+vmlinux
- 【Scikit-Learn 中文文档】集成方法
- Mybatis的分页插件PageHelper使用及注意事项
- AntiXss 类库简介以及一个简单的例子
- 检索
- VC++课程设计常见问题解答