gpt4 book ai didi

doctrine-orm - doctrine 2 oracle datetime 列在插入实体上显示 "not a valid month"

转载 作者:行者123 更新时间:2023-12-02 00:11:43 25 4
gpt4 key购买 nike

我正在开展一个项目,我们将 Zend 2 和 doctrine 2 与 oracle 数据库一起使用。我的实体有一个日期时间类型的字段 create_date。我的实体在下面

class Personnel
{

/**
* @ORM\Column(type="string",unique=true, nullable=false)
*/
protected $login_name;
/**
* @ORM\Column(type="datetime")
*/
protected $create_date;
public function __construct()
{
$this->create_date = new \DateTime("now");
}

public function get_login_name()
{
return $this->login_name;
}

public function set_login_name($login_name)
{
$this->login_name = $login_name;
}

我用

保存这个实体
$user = new Personnel();
$user->set_login_name('Admin');
$this->getEntityManager()->persist($user);
$this->getEntityManager()->flush();

但显示错误

    SQLSTATE[HY000]: General error: 1843 OCIStmtExecute: ORA-01843: not a valid month     (ext\pdo_oci\oci_statement.c:148)

请帮助我。

高级谢谢

最佳答案

在这里也发现了这个错误......它是 OracleSessionInit 没有被调用!

但我不知道它是否缺少配置部分,或者如果您使用 oci8,它是否是来自学说的错误,默认情况下不启用它

编辑:

刚找到!我应该补充一点,你应该在 service_manager 的调用者中添加一个指向\Doctrine\DBAL\Event\Listeners\OracleSessionInit 的服务,所以它应该是这样的:

'invokables' => array(
'oracle-session-init' => '\Doctrine\DBAL\Event\Listeners\OracleSessionInit'
),

还有这个:

'doctrine' => array (
'driver' => array (
/** here are your driver settings, such as annotations configs */
),
'eventmanager' => array(
'orm_default' => array(
'subscribers' => array('oracle-session-init')
)
)
),

归功于: http://raymondkolbe.com/2012/06/19/doctrineormmodule-and-oraclesessioninit/

关于doctrine-orm - doctrine 2 oracle datetime 列在插入实体上显示 "not a valid month",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14930670/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com