php SQLSTATE[08001]:[Microsoft][ODBC Driver 13 for SQL Server]TCP提供程序:无法建立任何连接,因为目标机器主动拒绝它

vnzz0bqm  于 2023-10-15  发布在  PHP
关注(0)|答案(2)|浏览(215)

我的理论存储库代码不工作,而我能够访问数据库和读取表数据正常。
我得到这个stacktrace:

EntityManager->getRepository('AppBundle:Person') in src\AppBundle\Controller\PersonViewController.php (line 18) 

  public function indexAction(Request $request) {
         $em = $this->getDoctrine()->getManager();
         $repo = $em->getRepository('AppBundle:Person');
         $persons = $repo->findAll();
         dump($persons);

person实体模型:
Person.php

namespace AppBundle\Entity;

use Doctrine\ORM\Mapping as ORM;

/**
 * Class Person
 * @Package AppBundle/Entity
 *
 * @ORM\Entity(repositoryClass="AppBundle\Repository\PersonRepository")
 * @ORM\Table(name="[Person]")
 */
class Person {
    /**
     * @ORM\Column(type="integer")
     * @ORM\Id
     * @ORM\GeneratedValue(strategy="AUTO")
     */
    protected $id;

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

如果这也是必要的,repo代码:
PersonRepository.php

<?php

namespace AppBundle\Repository;

use /** @noinspection PhpUndefinedClassInspection */
    Doctrine\ORM\EntityRepository;

class PersonRepository extends EntityRepository {

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

fhity93d1#

SQL Server配置管理器-> SQL Server网络配置->协议-> TCP/IP ->
我更改了以下内容

IpAll
TCP Dynamic Ports 49226
TCP Port

收件人:

IpAll
TCP Dynamic Ports
TCP Port          1433

不确定什么是TCP动态端口以及为什么要配置它们。

s8vozzvw

s8vozzvw2#

适用于SQL Server 2019 Developer
在默认安装中:

  • TCP/IP已禁用
  • 身份验证仅设置为Windows身份验证模式
    修复

1.要启用TCP/IP:

Start Menu
 -> Microsoft SQL Server 2019
 -> SQL Server 2019 Configuration Manager 
 -> SQL Server Network Configuration 
 -> Protocols For MSSQLSERVER 
 -> TCP/IP
 -> Enable

1.要启用SQL身份验证模式,请执行以下操作:

Start Menu
 -> Microsoft SQL Server Tools 
 -> Microsoft SQL Server Management Studio
 -> Right-Click the server node 
 -> Properties
 -> Security
 -> Under Authentication choose "SQL Server and Windows Authentication Mode"

1.以上更改需要重新启动“MSSQLSERVER”服务。

相关问题