VenturaSQL 4 Web API


using VenturaSQL;
using VenturaSQL.AspNetCore.Server.RequestHandling;

namespace BlazorDemo.Server.Controllers
    public class VenturaSqlController : ControllerBase
        public async Task<IActionResult> Index(byte[] requestData)

            var processor = new VenturaSqlServerEngine();
            processor.CallBacks.LookupAdoConnector = LookupAdoConnector;
            await processor.ExecAsync(requestData);
            Response.ContentType = "application/octet-stream";
            await Response.Body.WriteAsync(processor.ResponseBuffer, 0, processor.ResponseLength);
            return Ok();

        private AdoConnector LookupAdoConnector(string requestedName)
            if (requestedName == "DefaultConnector")
                return new AdoConnector(SqlClientFactory.Instance, ",1433;Initial Catalog=AdventureWorks2017;...");

            throw new Exception($"Requested connector name {requestedName} is unknown on server.");

In the C# code above, the requestData byte array is created by the recordsets on the client and transmitted to the server in binary format. The VenturaSqlServerEngine will perform the requested database operations and return the data to the client in binary format. The client then unpacks the data and fills the rows in the recordsets.


This is the website of Frank Th. van de Ven. I am a Dutch software developer specialized in creating line-of-business software using C# with Blazor WebAssembly and ASP.NET Core. I also have good knowledge of SQL Server, Azure App Service and WPF.

I don’t know if Microsoft’s .NET developer platform is the best in the world, but it certainly gets the job done, and how! Great productivity, great performance and amazing cross-platform support. C# code runs on almost any platform! Web, Mobile, Desktop, Cloud, IoT, Windows, Linux, macOS, Android, iOS and more.

Apart from building end-user software I also create software development tools. My tools make make developers productive. My specialty is single-handedly creating the tools you use to build a complete system: front-end, middleware, servers and the database layer. My solutions are totally integrated, and a development team using my tools, produces rapid, consistent and uniform results.

I am currently working on a system to rapidly build front end software with Blazor WebAssembly. Blazor WebAssembly allows us to run C# code cross-platform in any modern browser like Chrome, Edge, Firefox and Safari. The project is progressing rapidly and a demo is at Blazor is in the same category as Angular, React and Vue, but much easier to use, and much much more productive. This is thanks to the clever rendering engine and C# code running in the browser.

My website now runs on WordPress. What I really like about WordPress is the Gutenberg editor. It is much easier to post information and insert images compared to directly writing html. I never found a simple solution to insert images into a webpage where the images would be uploaded to the server automatically.

The documentation for VenturaSQL is at VenturaSQL is the 3-tier SQL framework for C# projects where database access and web services are integrated into a single solution.