在 ZF2 + Doctrine 2 中获取错误块 SQL(SQL 服务器)
Get erros block SQL (SQL Server) in ZF2 + Doctrine 2
我无法在 sql 块中捕获学说 2 + zf2 中的错误。
我的环境是 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();
}
我在 sql 块 (https://msdn.microsoft.com/en-us/library/bb510489.aspx) 中使用了一个 table 值参数,我不知道是否会影响某些东西。
当我在 zf2 应用程序中 运行 这段代码时,它没有出现错误,但在 Visual Studio 相同的 sql 块中出现错误。
当您创建用户定义类型时,它对于单个数据库是本地的。因此,在一个数据库中定义的用户定义类型不能在另一个数据库的列定义中使用。但是,如果相同的用户定义类型已注册并且可以在两个数据库中访问,则可以将一个数据库中的用户定义类型值转换为在另一个数据库中使用。当您想执行以下操作时,此功能很有用:
- 调用在不同数据库中定义的存储过程。
- 查询在两个不同数据库中定义的表。
- Select 数据库中的数据并将其插入到另一个数据库中。
参考:https://technet.microsoft.com/en-us/library/ms178069(v=sql.105).aspx
我无法在 sql 块中捕获学说 2 + zf2 中的错误。
我的环境是 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();
}
我在 sql 块 (https://msdn.microsoft.com/en-us/library/bb510489.aspx) 中使用了一个 table 值参数,我不知道是否会影响某些东西。
当我在 zf2 应用程序中 运行 这段代码时,它没有出现错误,但在 Visual Studio 相同的 sql 块中出现错误。
当您创建用户定义类型时,它对于单个数据库是本地的。因此,在一个数据库中定义的用户定义类型不能在另一个数据库的列定义中使用。但是,如果相同的用户定义类型已注册并且可以在两个数据库中访问,则可以将一个数据库中的用户定义类型值转换为在另一个数据库中使用。当您想执行以下操作时,此功能很有用:
- 调用在不同数据库中定义的存储过程。
- 查询在两个不同数据库中定义的表。
- Select 数据库中的数据并将其插入到另一个数据库中。
参考:https://technet.microsoft.com/en-us/library/ms178069(v=sql.105).aspx