Focal Point
SQL Passthru troubles

This topic can be found at:
https://forums.informationbuilders.com/eve/forums/a/tpc/f/7971057331/m/9287061006

March 12, 2011, 08:40 PM
Francis Mariani
SQL Passthru troubles
SQL
BEGIN TRANSACTION;
DECLARE @ReportGuid uniqueidentifier;
SET @ReportGuid = NEWID(); -- Create a new GUID value
PRINT( @ReportGuid );
INSERT DVNR0.dbo.CLIENT2 ([CLIENT_NUMBER],[CLIENT_FNAME]) values (@ReportGuid,'TEST TYPE 2');
COMMIT TRANSACTION;
END

Doesn't do anything - no errors, no success.

If I run the SQL code in SQL Express 2008 , it works without error.

Any ideas?

This kind of code worked with SQL Server 2000, it doesn't seem to work with SQL Server 2005 and 2008, but only when run via SQL Passthru - if I run the code in SQL Server Management Studio, it works.

This message has been edited. Last edited by: Francis Mariani,


Francis


Give me code, or give me retirement. In FOCUS since 1991

Production: WF 7.7.05M, Dev Studio, BID, MRE, WebSphere, DB2 / Test: WF 8.1.05M, App Studio, BI Portal, Report Caster, jQuery, HighCharts, Apache Tomcat, MS SQL Server
March 12, 2011, 08:43 PM
Francis Mariani
This works as SQL PassThru:

SQL
INSERT DVNR0.dbo.CLIENT2 ([CLIENT_NUMBER],[CLIENT_FNAME]) values (newid(),'dsdsdss sdsdsdsdsd');
END

This message has been edited. Last edited by: Francis Mariani,


Francis


Give me code, or give me retirement. In FOCUS since 1991

Production: WF 7.7.05M, Dev Studio, BID, MRE, WebSphere, DB2 / Test: WF 8.1.05M, App Studio, BI Portal, Report Caster, jQuery, HighCharts, Apache Tomcat, MS SQL Server
March 13, 2011, 06:34 AM
Tony A
Francis,

You need to break the SQL into distinct chunks such that each is actioned once the semicolon is encountered.

Using your example -

this should work -
SQL
INSERT DVNR0.dbo.CLIENT2 ([CLIENT_NUMBER],[CLIENT_FNAME]) values (newid(),'dsdsdss sdsdsdsdsd');
END
SQL
INSERT DVNR0.dbo.CLIENT2 ([CLIENT_NUMBER],[CLIENT_FNAME]) values (newid(),'dsdsdss sdsdsdsdsd');
END

but this would only action one of them -
SQL
INSERT DVNR0.dbo.CLIENT2 ([CLIENT_NUMBER],[CLIENT_FNAME]) values (newid(),'dsdsdss sdsdsdsdsd');
INSERT DVNR0.dbo.CLIENT2 ([CLIENT_NUMBER],[CLIENT_FNAME]) values (newid(),'dsdsdss sdsdsdsdsd');
END

T



In FOCUS
since 1986
WebFOCUS Server 8.2.01M, thru 8.2.07 on Windows Svr 2008 R2  
WebFOCUS App Studio 8.2.06 standalone on Windows 10 
March 13, 2011, 02:53 PM
Francis Mariani
Tony, thanks, but that Transaction method with multiple sql statements in one transaction works in SQL Server 2000 - I copied code that I wrote and that worked into a new environment, now it doesn't work.

Regards,


Francis


Give me code, or give me retirement. In FOCUS since 1991

Production: WF 7.7.05M, Dev Studio, BID, MRE, WebSphere, DB2 / Test: WF 8.1.05M, App Studio, BI Portal, Report Caster, jQuery, HighCharts, Apache Tomcat, MS SQL Server