I've started using Oracle REST Data Services (ORDS) for a few projects. This is a middleware tier java app that simply allows access to Oracle Database objects via REST. The objects you can "restify" are things like tables, packages, procedures, views, etc. I'm curious if there is an equivalent native (or first party) feature in Microsoft SQL Server?
Thanks.
Related
The question: Is it possible to point a view in database A running on Azure SQL Database service to tables/views on a SQL server running in a VM? I've tried external tables but come up short.
Scenario:
Two applications that is exchanging data, from two different vendors.
We've got three databases in total. One for each application and an integration database with views that both applications use either directly or through views.
The issue now is that we want to migrate to Azure and would prefer to use the Azure SQL Database service as much as possible, but one of the applications is not ready for it and therefor it's database has to be hosted on either a managed instance or in a VM.
The issue now is that there's view's in database A (running on Azure SQL Database service) that points to views and tables in the integration database, which again references tables in database B (running on SQL Server on the VM).
The short answer is "no". You can use external tables to query other SQL Azure databases, but there is no exact analogue for linked servers in Azure SQL Database. You can use SQL Azure Managed Instance (which supports SQL-SQL linked servers but not arbitrary linked servers).
There is a workaround, however. You can run SQL Server in an Azure VM and have it point to SQL Azure as a target as well as the other sources you want to connect. Then you can push data to/from Azure SQL DB using the SQL Server in a VM. You don't have the same management overhead in this approach since you don't really need to host data in the SQL Server if you don't want to do so. Note that this will be slower than doing direct connections to SQL Azure, but you can try to do this for a period of time if it would help you during a migration.
We need to building a typical maintenance front end (read, update, create, delete) for an existing relational database, and I have heard that Access Web Apps must "own" the SQL server database it uses.
Is it possible to create an MS Access Web App using a pre-existing SQL Server database?
Sources say the following:
In the process launching the app to SharePoint, a SQL database is
provisioned that will house all the objects and data that the app
requires. The database that is created is specific to your app and by
default not shared with other apps.
The short answer is "No". Access Web Apps are built on the SharePoint platform and the back end database is stored in an internal version of SQL Server.
Although it cannot be built upon an external SQL Server instance, you can import the schema and data into the internal instance of SQL Server.
I am planning to use azure mobile services for one of our products. I was confused about how can I use any of my existing databases (like MySQL, PostgreSQL, or Oracle instead of SQL database offered by Azure) which is available via TCP?
Kindly confirm.
Are you using the JavaScript/Node backend or the .NET backend?
If you're using JS, you'll need to create API scripts and import the Node module for your database. You can't use the default data scripts since they are only hooked to SQL Azure.
If you're using a .NET backend, there's no restriction whatsoever. You can use any database available on Azure or install your own in a VM.
SQL Server is able to open excel sheets (xlsx), access databases (mdb) and other data streams using data providers (e.g. JET, ACE) and OPENROWSET.
Are there similar facilities to extract data from a remote webservice ? Using OPENROWSET and providing it a web service driver and URL and some schema definition to translate the hierarchical nature of the webservice XML output into a table that SQL Server can query on.
I'm thinking of something like:
select * from
OPENROWSET('WEBSERVICE.4.0.PROVIDER','http://mydomain/webservice.asmx')
That's a high level question, although I know it's conceptually possible, I'd like to know if there are any implementations of this idea.
Thanks
You could use a SQL-CLR assembly (in versions 2005 or newer) to handle the calling of the stored procedure, and to insert the data into your SQL Server database table.
See some of these tutorials (plenty more when you Google or Bing for it):
CLR Stored Procedure Calling External Web Service - SQL Server 2005 Tutorials
Consuming a Web Service from a SQL Server 2005 CLR Assembly
Query a web service with SQLCLR
Invoking a Web Service from a SQLCLR Stored Procedure
Calling a Web Service from within SQL Server
How to consume a web service from within SQL Server using SQL CLR
Is there a way to synchronize two SQL Server 2008 databases(any edition) using Microsoft Sync Framework and SQL Server 2008 Change Tracking mechanism, instead of provisioning the databases with the required schema changes(triggers, sps, aux tables) to track changes?
Is there any code sample?
Yes, this is possible. Use the Sql Express sample sync provider (http://archive.msdn.microsoft.com/sync/Release/ProjectReleases.aspx?ReleaseId=1200).
It is not supported by Microsoft and it uses Sync Framework 2.0 techniques instead of the newer 2.1 techniques for collaborative sync.
Enable change tracking on the server, create the anchor and guid table on the client. Create sync adapters per table in the sync agent and you're off. You have to keep in mind that the sql express client provider uses the server provider under the covers, so you need to reverse it's thinking in some places (download becomes upload).