sqlite也可以支持服务器存储的;
支持跨平台,像很对安卓的应用可以找到它的影子;
sqlite是一个单文件的数据库文件系统,属轻型数据库,理论支持百万级数据量;性能方面不能但看数据库本身,还要看你的设计,设计的不好10万级有点悬;
另外,网络多应用共享时,容易造成死锁;
个人建议啊,要是做网络游戏,不太建议用sqlite做服务器数据库,到是可以做客户端内嵌的小型数据库。
Unity3d连接SQL
Server数据库:
首先需要把Unity安装路径下的SystemDatadll和MonoDataSqliteClientdll拷贝到当前unity工程的Assets文件夹下,因为之后在脚本中引用的dll并不是framework提供的。脚本的内容:
using
UnityEngine;
using
Sys
方法/步骤 首先,我们要下载RE文件管理器并且安装到手机上(这个是需要root也就是获取手机权限的,一定要有,不然后面的一切都是做不了的) 我们现在打开RE文件管理器,进入手机根目录。我们开始进入微信的根目录,下面这个就是微信的根目录。data/data/comtencentmm 一定看清楚是两个data(日期),不是我手抖敲多了。 现在我们就进入微信的根目录了,在这个根目录下我们能找到一个文件名为“MicroMsg”的文件夹。这就是我们需要的,现在把这个文件夹复制到存储卡里就好了。在根目录下有一个名为“sdcard”的文件夹,这就是存储卡。这样我们就能在电脑连接到手机后,在电脑上里看到这个文件夹了。 现在就该用电脑了。把“MicroMsg”文件夹复制到电脑上,打开之前要装到电脑上的软件(微信聊天记录备份恢复助手)。这时会d出下面这个对话框,选择安卓版本微信。并把数据目录和资源目录都设置为“MicroMsg”文件夹。设置好之后点击获取数据,这时下面的表格中会出现用户名。选中后记录就能看到消息记录了。
Unity3D怎样读取Access数据库?
在U3D中要访问Access数据库,我们需要用到两个dll,SystemDatadll和SystemEnterpriseServicesdll,缺一不可。我们找到这两个dll放到u3d的Plugins文件夹下面。
下面我们创建一个Access数据库版本是07样式是accdb(03版本的Access数据库的样式为mdb)在我们进行code的时候,要根据不同的版本进行判断啦,对于不同的Access数据库版本,我们要对应不懂的文件后缀名。要不然会提示你数据库文件是未知文件。
下面是读取Access的一个demo,其他的修改,添加数据都是在修改他的sql语句啦。简单的代码如下:
using UnityEngine;
using SystemCollections;
//引入命名空间
using System;
using SystemData;
using SystemDataOdbc;
public class RaderData : MonoBehaviour
{
/// <summary>
/// 声明一个接受读取数据字段值的变量
/// </summary>
string text = stringEmpty;
public void Start()
{
//读取数据文件。
ReadStudent(ApplicationdataPath + “/Wild boaraccdb”);
}
/// <summary>
/// 读取表数值的函数
/// </summary>
/// <param name=”filetoread”>数据文件的路径</param>
internal void ReadStudent(string filetoread)
{
//声明连接数据库的字段
string connection = “Driver={Microsoft Access Driver (mdb, accdb)}; DBQ=” + filetoread;
//从表中查询所有数据
string sqlQuery = “select from Student”;
//打开数据库
OdbcConnection con = new OdbcConnection(connection);
//对数据库进行 *** 作
OdbcCommand cmd = new OdbcCommand(sqlQuery,con);
//根据表名,读取数据到一个临时表
DataTable dt = new DataTable(“Student”);
//try catch finally进行了异常处理,这个是好习惯,嘿嘿
try
{
//打开数据库
conOpen();
//读取数据
OdbcDataReader reader = cmdExecuteReader();
//把数据加载到临时表
dtLoad(reader);
//在使用完毕之后,一定要关闭,要不然会出问题
readerClose();
//关闭数据库
conClose();
}
catch (Exception ex)
{
DebugLog(exToString());
}
finally
{
//判断数据库是否打开,如果打开就关闭。
if (conState!=ConnectionStateClosed)
{
conClose();
}
//释放数据库资源
conDispose();
}
if (dtRowsCount>0)
{
//读取数据
for (int i = 0; i < dtRowsCount; i++)
{
text = dtColumns[0]ColumnName + ” : ” + dtRows[dtColumns[0]ColumnName]ToString() + “ | ” + dtColumns[1]ColumnName + ” : ” + dtRows[dtColumns[1]ColumnName]ToString() + “ | ” + dtColumns[2]ColumnName + ” : ” + dtRows[dtColumns[2]ColumnName]ToString() + “ | ” + dtColumns[3]ColumnName + ” : ” + dtRows[dtColumns[3]ColumnName]ToString();
DebugLog(dtColumns[0]ColumnName + ” : ” + dtRows[dtColumns[0]ColumnName]ToString() + “ | ” + dtColumns[1]ColumnName + ” : ” + dtRows[dtColumns[1]ColumnName]ToString() + “ | ” + dtColumns[2]ColumnName + ” : ” + dtRows[dtColumns[2]ColumnName]ToString() + “ | ” + dtColumns[3]ColumnName + ” : ” + dtRows[dtColumns[3]ColumnName]ToString());
}
}
}
public void OnGUI()
{
GUILabel(new Rect(10,10,500,200),text);
}
}
以上就是关于Unity的本地数据库和服务器数据库分别用什么好全部的内容,包括:Unity的本地数据库和服务器数据库分别用什么好、unity 3d怎么与数据库进行交互、unity打包安卓,数据库从stream路径拷贝到沙盒,拷贝成功,为什么 *** 作不了数据库等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)