![]() |
#23 |
Участник
|
Добрый вечер, уважаемые коллеги.
Разобрался с этой темой, но не до конца. В хранимой процедуре обращаюсь к другой БД, извлекаю из нее данные, читаю в AX следующим методом: X++: public static server void testExport() { Connection conn; Statement stmt; str expr = "EXEC [dbo].[usp_DenisTest]"; ResultSet rs; SqlStatementExecutePermission perm = new SqlStatementExecutePermission(expr); ; conn = new Connection(); perm.assert(); stmt = conn.createStatement(); // BP deviation documented rs = stmt.executeQuery(expr); while (rs.next()) { info(rs.getString(1)); } rs.close(); CodeAccessPermission::revertAssert(); } X++: USE [PRD] GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO ALTER PROCEDURE [dbo].[usp_DenisTest] AS BEGIN SELECT ProdId, WrkCtrId, ItemId FROM [CSF_PRD].[dbo].[SFMatl] AS SFMatl WHERE SFMatl.CompanyId = 'dat' AND SFMatl.WrkCtrId = 'E01' AND SFMatl.PrOdId = 'W000004' END Но стоит только настроить процедуру на работу с временными таблицами, как возникает ошибка такого рода: SQL error description: [Microsoft][ODBC SQL Server Driver]Invalid cursor state Вот текст процедуры, использующей временную таблицу: X++: USE [PRD] GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO ALTER PROCEDURE [dbo].[usp_DenisTest2] AS BEGIN SET NOCOUNT ON CREATE TABLE #TempCustTable ( AccountNum varchar(10) COLLATE Latin1_General_CI_AI , CustName varchar(50) COLLATE Latin1_General_CI_AI ) INSERT INTO #TempCustTable (AccountNum, CustName) SELECT AccountNum, Name FROM CustTable WHERE CustTable.DataAreaId = 'dat' AND CustTable.Name LIKE 'S%' SET NOCOUNT OFF SELECT * FROM #TempCustTable DROP TABLE #TempCustTable END Может кто-нибудь подсказать, как мне использовать временные таблицы на стороне SQL Server, чтобы можно было нормально прочитать выборку в AX? P.S. Спешу напомнить, что мне обязательно нужно обратиться к другой базе, поэтому использую хранимые процедуры.
__________________
// no comments Последний раз редактировалось dech; 08.08.2013 в 18:47. |
|
|
![]() |
||||
Тема | Ответов | |||
dynamicsaxbi: Better together: Microsoft Dynamics AX 2012 R2 and SQL Server Power View | 0 | |||
Connection к другому SQL Server | 5 |
|