【问题标题】:Doctrine getRepository() is actively refused by SQL ServerSQL Server 主动拒绝 Doctrine getRepository()
【发布时间】:2017-07-28 09:50:15
【问题描述】:

我可以通过pdo 查询访问database。现在我对这两件事都很陌生,因为我是 php 的新手,所以我不知道哪个更适合使用,但我认为实体管理器会更容易。 我的目标是拥有一个简单的web 应用程序,它可以显示来自sql-server database 的数据。

系统

  • windows8
  • php7
  • sql-serverpdo4
  • symfony3

错误信息:

SQLSTATE[08001]:[Microsoft][ODBC Driver 13 for SQL Server]TCP 提供程序: 由于目标机器主动拒绝,无法建立连接。

我的代码:

$repo = $em->getRepository('MyBundle:MyObject');

MyObject.php

<?php
// src/MyBundle/Entity/MyObject.php

namespace MyBundle\Entity;

use Doctrine\ORM\Mapping as ORM;

/**
 * MyObject
 *
 * @ORM\Table(name="MyObject")
 * @ORM\Entity(repositoryClass="MyBundle\Repository\MyObjectRepository")
 */
class MyObject {
    /**
     * @ORM\Column(type="integer")
     * @ORM\Id
     * @ORM\GeneratedValue(strategy="AUTO")
     */
    private $id;

    /**
     * @ORM\Column(type="string", length=4)
     */
    private $type;
}

MyObjectRepository.php

<?php
/**
 * Created by PhpStorm.
 * User: rsluimers
 * Date: 28-7-2017
 * Time: 10:55
 */

namespace MyBundle\Repository;

use Doctrine\ORM\EntityRepository;

class MyObjectRepository extends EntityRepository {

    public function create() {
        $entity = new MyObject();
        $entity->type('WM_B');
        $this->_em->persist($entity);
        $this->_em->flush();
    }
}

【问题讨论】:

  • 你的parameters.yml文件配置正确了吗?
  • persistflush 方法在 EntityManager 中不是静态的。此外,您的代码在MyObjectRepository extends MyObjectRepository 中也没有意义。而且你的方法MyObject::getRepository不是一个好主意。
  • 最可能的原因是防火墙。
  • @JakubMatczak 谢谢。存储库和实体代码是我从 stackoverflow 中提取的,尽管第二个错误是重命名错字。
  • @rmsluimers 你能从config.yml 发布doctrine.dbal 配置吗?

标签: php sql-server symfony pdo doctrine-orm


【解决方案1】:

检查参数文件是否一切正确:

database_host: localhost
database_port: port
database_name: database
database_user: user
database_password: pass

【讨论】:

  • 我可以通过原始 PDO 访问数据库,这是正确的。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2023-03-18
相关资源
最近更新 更多