我无法在 sql 块中捕获原则 2 + zf2 中的错误。
我的环境是 ZF2 + 原则 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();
}
我在sql块(https://msdn.microsoft.com/en-us/library/bb510489.aspx)中使用表值参数,我不知道是否会影响某些事情。
当我在 zf2 应用程序中运行此代码时,它不会出现错误,但在 Visual Studio 中,相同的 sql 块有错误。
创建用户定义类型时,它是单个数据库的本地类型。因此,在一个数据库中定义的用户定义类型不能在另一个数据库的列定义中使用。但是,如果注册了相同的用户定义类型并且可以在两个数据库中访问,则可以将一个数据库中的用户定义类型值转换为在另一个数据库中使用。当您要执行以下操作时,此功能非常有用:
- 调用在其他数据库中定义的存储过程。
- 查询在两个不同数据库中定义的表。
- 从数据库中选择数据并将其插入到另一个数据库中。
参考: https://technet.microsoft.com/en-us/library/ms178069(v=sql.105).aspx