1、安装配置http://www.pinusdb.cn/doc/v1.3/doc_pdb_windows_install.html
https://blog.csdn.net/zhangqhn/article/details/97088765
http://www.pinusdb.cn/doc/v1.3/manual/pdb_table_manage.html
2、初始密码:pinusdb
3、安装服务,以管理员身份运行install.bat,卸载服务,以管理员身份运行uninstall.bat
4、建表示例:
create table HisData
(
devid bigint,
tstamp datetime,
Code string,
Value double,
Status bigint,
ValueDesc string
)
5、修改表示例,注意是全表调整,不像SQLServer中的alter table add ....
alter table HisData
(
devid bigint,
tstamp datetime,
Code string,
Value double,
Status bigint,
Flag bool
)
6、保存数据
private void SaveData<T>(List<T> list, string tableName, List<string> RemoveColumns = null)
{
if (list == null || list.Count < 1)
return;
try
{
DataTable d = list.ToDataTable<T>();
if (RemoveColumns != null && RemoveColumns.Count > 0)
{
foreach(var col in RemoveColumns)
{
d.Columns.Remove(col);
}
}
d.TableName = tableName;
//实例化连接对象
using (var conn = new PDBConnection(config.TranConnHisDB))
{
//打开连接
conn.Open();
try
{
PDBCommand cmd = conn.CreateCommand();
PDBErrorCode errCode = cmd.ExecuteInsert(d);
string msg = PDBErrorMsg.GetErrorMsg(errCode);
}
finally
{
//关闭数据库连接
conn.Close();
}
}
}
catch (Exception ex)
{
this.log.LogError2File("SaveDevId: " + ex.Message.ToString());
}
}
7、获取数据
private List<T> GetHisData<T>(QueryHis queryParam, string tableName) where T : class, new()
{
try
{
//实例化连接对象
using (var conn = new PDBConnection(config.TranConnHisDB))
{
//打开连接
conn.Open();
try
{
PDBCommand cmd = conn.CreateCommand();
// 不加limit,默认为1000,上限是10000
string sql = string.Format(" SELECT * FROM {0} WHERE devid={1} AND tstamp>='{2}' AND tstamp < '{3}' limit 10000 ", tableName, queryParam.DevId, queryParam.BeginTime, queryParam.EndTime);
DataTable dt = cmd.ExecuteQuery(sql);
if (dt != null && dt.Rows.Count > 0)
{
return dt.ToList<T>(true);
}
}
finally
{
//关闭数据库连接
conn.Close();
}
}
}
catch (Exception ex)
{
this.log.LogError2File("GetHisData: " + ex.Message.ToString());
}
return null;
}
8、如果tsamp重复会导致插入失败,如果tsamp比库中的小,也会导致插入失败。