我使用Quercus在Google App Engine上运行PHP,并使用以下代码将值插入GAE数据存储(BigTable)。

<?php
import com.google.appengine.api.datastore;
import com.google.appengine.api.datastore.Entity;
import com.google.appengine.api.datastore.DatastoreServiceFactory;

$entity = new Entity("test"); 
$entity->setProperty('story',' --- more than 500 char ---');
$dataService = DatastoreServiceFactory::getDatastoreService();
$dataService->put($entity);
?>

但是返回流动错误,因为故事值超过500个字符。

error:
com.caucho.quercus.QuercusException: com.google.appengine.api.datastore.Entity.setProperty: story: String properties must be 500 characters or less. Instead, use com.google.appengine.api.datastore.Text, which can store strings of any length.

我对爪哇一无所知。有人知道如何使用吗 com.google.appengine.api.datastore.text 在我的PHP代码中。

谢谢

有帮助吗?

解决方案

这个可以吗?

<?php
import com.google.appengine.api.datastore;
import com.google.appengine.api.datastore.Entity;
import com.google.appengine.api.datastore.DatastoreServiceFactory;
import com.google.appengine.api.datastore.Text;


$entity = new Entity("test"); 
$TextValue = new Text(' --- more than 500 char ---');
$entity->setProperty('story',$TextValue);
$dataService = DatastoreServiceFactory::getDatastoreService();
$dataService->put($entity);
?>

其他提示

与其将“ setProperty”的第二个参数传递给字符串,不如创建一个新的com.google.appengine.api.datastore.text并传递给它。

看来您应该知道该怎么做。

请参阅此处的“ setProperty”的定义: http://code.google.com/appengine/docs/java/javadoc/com/google/poogle/appengine/api/datastore/entity.html

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top