我想保存(和加载)一个合理的长字符串缓存类字符串(MAXLEN = 1024000)属性。Intersystems缓存字符串作为%Stream.GlobalCharacter
串大约32,000个字符长,而不是存储字符串内容(这是它的价值JSON对象),它存储
[email protected]%Stream.GlobalCharacter
当我尝试加载和在我的C#程序中的字符串内容我从字面上得到上面的字符串,我没有得到JSON。当通过Cache web和终端接口查看表格时,我也可以看到上面的字符串。
我有另一个约23,000个字符长的JSON字符串,保存和加载没有问题。
我明白[email protected]%Stream.GlobalCharacter
是存储数据的方式,但我想能够轻松地加载/保存为一个字符串。
更新
我试图将数据保存在我的C#ASP.Net应用程序如下
sql = "INSERT INTO Namespace.Table (Name, Active, Revision, Definition) VALUES (?, 1, ?, ?)";
cC = new CacheCommand(sql, dbConn);
cC.Parameters.Add(new CacheParameter("name", formType)); // string
cC.Parameters.Add(new CacheParameter("revision", revision)); // int
cC.Parameters.Add(new CacheParameter("definition", formData)); // string
cC.ExecuteNonQuery();
我加载数据如下
string sql = "SELECT TOP 1 * FROM Namespace.Table WHERE Active = 1 AND Name = ? ORDER BY Revision DESC";
CacheCommand cC = new CacheCommand(sql, dbConn);
cC.Parameters.Add(new CacheParameter("name",formType));
CacheDataReader rdr = cC.ExecuteReader();
while(rdr.Read())
{
string json = rdr["Definition"].ToString();
}
这有点难以帮助,虽然我不确定如何保存和加载数据,它只是.Net代码或COS。如果可能的话,需要来自双方的代码的一些例子。 – DAiMor
对不起,使用C#代码更新了问题 –
我对.Net并不是很熟悉,但是因为我看到您使用了ToString(),所以在这种情况下,您当然只会获得此对象的类。我认为你应该在转换为String之前得到这个对象。 – DAiMor