ODBC Driver for Sage 200

Build 20.0.7587

Execute Queries on a Linked Server

This section describes how to execute queries to the Sage 200 linked server from any tool that can connect to SQL Server.

When executing queries from a linked server, you must use a four-part name format, as shown below.

[<Linked Server Name>].[<DSN Name>].[<Schema Name (normally but not always the service name)>].[<Table Name>]

Where:

  • Linked Server Name is the name of the linked server that you created.
  • DSN Name is the name of the data source.
  • Schema Name is the name of the system schema or user-defined schema.
  • Table Name is the name of the table you are copying data from.

SELECT Statements

To create new records:

SELECT * FROM [Linked Server Name].[CData Sage200 Sys].[Sage200].[Banks] WHERE Description = 'Bob'

You can run a bulk INSERT using a SELECT query in place of a VALUES list.

INSERT INTO [Linked Server Name].[CData Sage200 Sys].[Sage200].[Banks] ([Description])
SELECT [Description] from [CData].[dbo].[Local_Banks]

You can run a bulk UPATE using a JOIN with a local table.

UPDATE [Linked Server Name].[CData Sage200 Sys].[Sage200].[Banks] SET [Banks].[Description] = CData.dbo.[Local_Banks].[Local_Description]
FROM CData.dbo.[Local_Banks] INNER JOIN [Linked Server Name].[CData Sage200 Sys].[Sage200].[Banks] ON CData.dbo.[Local_Banks].[Id] = [Banks].[Id]

You can run a bulk DELETE using the IN filter with sub-SELECT query.

DELETE FROM [Linked Server Name].[CData Sage200 Sys].[Sage200].[Banks] WHERE [Id] IN (SELECT [Id] FROM CData.dbo.Local_Banks)

Execute Stored Procedures

To execute stored procedures, you must first enable RPC and RPC Out in the settings for the linked server. Then, you can use the following set of commands to run the stored procedure:

DECLARE @RunStoredProcSQL VARCHAR(1000);
SET @RunStoredProcSQL = 'EXEC GetOAuthAuthorizationURL CallbackUrl=''https://localhost:33333''';
EXEC (@RunStoredProcSQL) AT [Linked Server Name];

Copyright (c) 2020 CData Software, Inc. - All rights reserved.
Build 20.0.7587