Получить ошибочный блок SQL (SQL Server) в ZF2 + Doctrine 2

0

Я не могу уловить ошибку в доктрине 2 + zf2 в sql-блоке.

Моей средой является ZF2 + Doctrine 2.

Код:

public function test() {
    $connection = $this->_em->getConnection();
    $sql = "DECLARE @Test AS dbo.DataTempTransactions
            INSERT INTO @Test VALUES ('015.004.000',100,'015A')
            DECLARE @DATE datetime
            SET @DATE = GETDATE()
            EXEC ONCode.dbo.TmSp_Exit @Test, @mnfdate = @DATE
            SELECT * FROM ONTest.dbo.OBTN";
    $stmt = $connection->prepare($sql);
    return $stmt->execute();
}

Я использую параметр table value в блоке sql (https://msdn.microsoft.com/en-us/library/bb510489.aspx), я не знаю, влияют ли что-то.

Когда я запускаю этот код в приложении zf2, он не появляется ошибка, но в Visual Studio тот же блок sql имеет ошибку.

Теги:
sql-server
doctrine
zend-framework2

1 ответ

0
Лучший ответ

Когда вы создаете пользовательский тип, он является локальным для одной базы данных. Поэтому определяемый пользователем тип, определенный в одной базе данных, не может использоваться в определении столбца другой базы данных. Однако, если один и тот же пользовательский тип зарегистрирован и может быть доступен в двух базах данных, вы можете преобразовать определяемое пользователем значение типа из одной базы данных для использования в другой базе данных. Эта способность полезна, если вы хотите сделать следующее:

  • Вызовите хранимую процедуру, которая определена в другой базе данных.
  • Запросить таблицы, которые определены в двух разных базах данных.
  • Выберите данные из базы данных и вставьте их в другую.

Ссылка: https://technet.microsoft.com/en-us/library/ms178069(v=sql.105).aspx

Ещё вопросы

Сообщество Overcoder
Наверх
Меню