本文整理汇总了C#中DigitalPlatform.rms.Client.RmsChannel.DoInitialDB方法的典型用法代码示例。如果您正苦于以下问题:C# RmsChannel.DoInitialDB方法的具体用法?C# RmsChannel.DoInitialDB怎么用?C# RmsChannel.DoInitialDB使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类DigitalPlatform.rms.Client.RmsChannel
的用法示例。
在下文中一共展示了RmsChannel.DoInitialDB方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: CreateDatabase
// 根据数据库模板的定义,创建一个数据库
int CreateDatabase(RmsChannel channel,
string strTemplateDir,
string strDatabaseName,
out string strError)
{
strError = "";
int nRet = 0;
List<string[]> logicNames = new List<string[]>();
string[] cols = new string[2];
cols[1] = "zh";
cols[0] = strDatabaseName;
logicNames.Add(cols);
string strKeysDefFileName = PathUtil.MergePath(strTemplateDir, "keys");
string strBrowseDefFileName = PathUtil.MergePath(strTemplateDir, "browse");
nRet = ConvertGb2312TextfileToUtf8(strKeysDefFileName,
out strError);
if (nRet == -1)
return -1;
nRet = ConvertGb2312TextfileToUtf8(strBrowseDefFileName,
out strError);
if (nRet == -1)
return -1;
string strKeysDef = "";
string strBrowseDef = "";
StreamReader sr = null;
try
{
sr = new StreamReader(strKeysDefFileName, Encoding.UTF8);
strKeysDef = sr.ReadToEnd();
sr.Close();
}
catch (Exception ex)
{
strError = "装载文件 " + strKeysDefFileName + " 时发生错误: " + ex.Message;
return -1;
}
try
{
sr = new StreamReader(strBrowseDefFileName, Encoding.UTF8);
strBrowseDef = sr.ReadToEnd();
sr.Close();
}
catch (Exception ex)
{
strError = "装载文件 " + strBrowseDefFileName + " 时发生错误: " + ex.Message;
return -1;
}
long lRet = channel.DoCreateDB(logicNames,
"", // strType,
"", // strSqlDbName,
strKeysDef,
strBrowseDef,
out strError);
if (lRet == -1)
{
strError = "创建数据库 " + strDatabaseName + " 时发生错误: " + strError;
return -1;
}
lRet = channel.DoInitialDB(strDatabaseName,
out strError);
if (lRet == -1)
{
strError = "初始化数据库 " + strDatabaseName + " 时发生错误: " + strError;
return -1;
}
// 增补其他数据从属对象
/*
List<string> subdirs = new List<string>();
// 创建所有目录对象
GetSubdirs(strTemplateDir, ref subdirs);
for (int i = 0; i < subdirs.Count; i++)
{
string strDiskPath = subdirs[i];
// 反过来推算为逻辑路径
// 或者预先在获得的数组中就存放为部分(逻辑)路径?
string strPath = "";
// 在服务器端创建对象
// parameters:
// strStyle 风格。当创建目录的时候,为"createdir",否则为空
// return:
//.........这里部分代码省略.........
示例2: menu_initialDB
// 初始化数据库
void menu_initialDB(object sender, System.EventArgs e)
{
if (this.SelectedNode == null)
{
MessageBox.Show(this, "尚未选择要初始化的数据库节点");
return;
}
if (this.SelectedNode.ImageIndex != RESTYPE_DB)
{
MessageBox.Show(this, "所选择的节点不是数据库类型。请选择要初始化的数据库节点。");
return;
}
ResPath respath = new ResPath(this.SelectedNode);
string strText = "你确实要初始化位于服务器 '"+respath.Url+"' 上的数据库 '"+respath.Path + "' 吗?\r\n\r\n警告:数据库一旦被初始化,其中包含的原有数据将全部被摧毁,并且无法恢复!";
DialogResult msgResult = MessageBox.Show(this,
strText,
"初始化数据库",
MessageBoxButtons.OKCancel,
MessageBoxIcon.Question,
MessageBoxDefaultButton.Button2);
if (msgResult != DialogResult.OK)
{
MessageBox.Show(this, "初始化数据库操作被放弃...");
return;
}
this.channel = Channels.GetChannel(respath.Url);
Debug.Assert(channel != null, "Channels.GetChannel() 异常");
string strError = "";
#if NO
DigitalPlatform.Stop stop = null;
if (stopManager != null)
{
stop = new DigitalPlatform.Stop();
stop.Register(this.stopManager, true); // 和容器关联
stop.OnStop += new StopEventHandler(this.DoStop);
stop.Initial("正在初始化数据库: " + respath.FullPath);
stop.BeginLoop();
}
#endif
DigitalPlatform.Stop stop = PrepareStop("正在初始化数据库: " + respath.FullPath);
long lRet = channel.DoInitialDB(respath.Path, out strError);
EndStop(stop);
#if NO
if (stopManager != null)
{
stop.EndLoop();
stop.OnStop -= new StopEventHandler(this.DoStop);
stop.Initial("");
stop.Unregister(); // 和容器脱离关联
}
#endif
this.channel = null;
if (lRet == -1)
{
MessageBox.Show(this, strError);
}
else
{
MessageBox.Show(this, "位于服务器'"+respath.Url+"'上的数据库 '"+respath.Path+"' 被成功初始化。");
}
}