Visual Studio Sql Server project cannot compile (dacpac generation ) with External source of type 6 - visual-studio

I am trying to do a Sql Project in visual studio (out of a Azure Sql Pool formerly SQL Datawarehouse ) . However I am getting an issue while the engine is parsing my external datasource with managed identity. The external data source code is the following :
SQL
CREATE EXTERNAL DATA SOURCE [data_toto_dfs_core_windows_net] WITH (LOCATION = N'abfss://data#toto.dfs.core.windows.net')
And the error code is the following :
Error An error occurred while attempting to reverse engineer elements
of type
Microsoft.Data.Tools.Schema.Sql.SchemaModel.SqlExternalDataSource:
Unsupported external data source type '6'.
Any idea how to deal with it ?
Regards
Vincent

You need to create a database scoped credential which helps to access the external data source.
Make sure your external data source have permission to Managed Identity for accessing the data.
Please go through this document Database-scoped credential with Managed Identity for more information.

Related

BizTalk - polling an Oracle database package

I need to poll an Oracle database in BizTalk. In the postPollStatement I need to add the package that has been created for me in the Oracle DB. Can anyone assist me with this?
I have created the schema in Visual Studio, the port is created and I have configured everything except the postPollStatement.
EDIT1:
I have done some research and followed Microsoft Docs but still not managed to get the postPollStatement working.
https://learn.microsoft.com/en-us/biztalk/adapters-and-accelerators/adapter-oracle-database/poll-oracle-db-using-stored-procedures-functions-or-packaged-procedures
This is the error I receive: System.TypeInitializationException: The type initializer for 'Oracle.DataAccess.Client.OracleConnection' threw an exception. ---> System.BadImageFormatException: An attempt was made to load a program with an incorrect format. (Exception from HRESULT: 0x8007000B)
To get this working you need to do the following:
polledDataAvailableStatement: SQL Statement that returns '1' or '0'.
SELECT COUNT (*) FROM TABLE
pollingAction: Retrieve the polling action from the schema generated for the inbound message.
pollingStatement: For this binding property, specify the entire XML request message that you generate from the schema in Visual Studio.
(No parameter needed if not specified in schema).

Create external data source in Azure Synapse Analytics (Azure SQL Data warehouse) to Oracle

I am trying to create external data source in Azure Synapse Analytics (Azure SQL Data warehouse) to Oracle external database. I am using the following code in SSMS to do that:
CREATE MASTER KEY ENCRYPTION BY PASSWORD = 'myPassword';
CREATE DATABASE SCOPED CREDENTIAL MyCred WITH IDENTITY = 'myUserName', Secret = 'Mypassword';
CREATE EXTERNAL DATA SOURCE MyEXTSource
WITH (
LOCATION = 'oracle://<myIPAddress>:1521',
CREDENTIAL = MyCred
)
I am getting the following error:
CREATE EXTERNAL DATA SOURCE statement failed because the 'TYPE' option is not specified. Specify a value for the 'TYPE' option and try again.
I understand from the below that TYPE is not a required option for Oracle databases.
https://learn.microsoft.com/en-us/sql/t-sql/statements/create-external-data-source-transact-sql?view=azure-sqldw-latest
Not sure how what the problem is here, is this feature still not supported in Azure Synapse Analytics (Azure DW) when it is already available in MS SQL Server 2019? Any ideas are welcome.
Polybase has different versions across the different products with different capabilities. Most of these are described here:
The ability to connect to Oracle is only present in the SQL Server versions, currently 2019. The documentation is quite clear that is only applies to SQL Server and not to Azure Synapse Analytics (formerly Azure SQL Data Warehouse):
https://learn.microsoft.com/en-us/sql/relational-databases/polybase/polybase-configure-oracle?view=sql-server-ver15
In summary, Azure Synapse Analytics and its version of Polybase does not currently support to access external Oracle tables at this time.

SSIS project not working when reading from Oracle

I've been trying to create an SSIS project to read from an Oracle 11.x database to an SQL Server database.
When I set this up in Visual Studio 10 Shell, I do not receive any logs . It gives me a successful message but nothing happens.
I tried to connect to an Oracle 12c database and the same happened.
I tried to get data from an Oracle 11.x project and dump it into an excel file. I also tried to get data from an Oracle 11.x table and dump it into a new Oracle 11.x table (in the same database) and in both cases I got the following error:
> TITLE: Microsoft Visual Studio
Failed to start project
------------------------------ ADDITIONAL INFORMATION:
Exception deserializing the package "The package failed to load due to
error 0xC0011008 "Error loading from XML. No further detailed error
information can be specified for this problem because no Events object
was passed where detailed error information can be stored.". This
occurs when CPackage::LoadFromXML fails. ".
(Microsoft.DataTransformationServices.VsIntegration)
The package failed to load due to error 0xC0011008 "Error loading from
XML. No further detailed error information can be specified for this
problem because no Events object was passed where detailed error
information can be stored.". This occurs when CPackage::LoadFromXML
fails. (Package)
------------------------------ BUTTONS:
OK
Can anyone help me please?
Thank you
You haven't posted how you are trying to get data from oracle exactly so can say much about the error. I can only give my solution in 2008 r2:
create an oracle linked server in your sql server and then use an open query in the SSIS package to pull anything you need

Using a oracle data adapter to deploy and fill reports on jasperserver

I have a oracle dataadapter that is a datasource on jasperserver.
But when I create a report using this adapter, it does not preview or fill the report on Jaspersoft Studio and JasperReports Server. Is there anyway I can create a new oracle dataadapter for testing purposes. I have downloaded odjc7.jar. But when I create a driver path to this file. I recieve a error Reason:java.sql.SQLRecoverableException: IO Error: Unknown host specified
Any details to whether oracle datasource can fill reports would be much appreciated and any details to creating a new oracle dataadapter.
If your link is correct and already works on other pcs/servers, then the error is in the connection to the database.
Check your connection to the database. Open a SQL-Developer tool and try to connect to the database.
Check if you really did add the driver to the data adapter:
It should look like this:
If you didn't provide the right driver it will not work!
Recheck your ojdbc7.jar. Maybe download it again from an official source. Also sometimes the ojdbc7.jar leads to some unknown errors. At a Jaspersoft Roadshow they recommended to still use the ojdbc6.jar.

Visual Studio 2013 SSIS OLE DB Destination (Access via Connection Manager) SQL Command Issue

Afternoon Folks,
We are using Visual Studio 2013 and have an SSIS package that we are creating. We have a simple Data Flow Task that essentially takes some data from SQL and Pushes through to an Access Database. It has three DFD flow items:
I have a OLE DB Source (obtains the SQL via a select statement) --> Data Conversion (Convert SQL Data Types to Access) --> OLE DB Destination (Access Database)
The steps selecting the SQL and converting it works fine.
The issue we have is the SQL command that we are using to update the Access 2010 database.
We have tried to run and create a simple UPDATE statement to update a couple of fields with hardcoded data, but this doesn't update. We have also tried creating a stored procedure and then executing this within the SQL Command line in the OLE Destination Editor.
We can see from posts on the net that we can create a procedure in access 2010 and use this. We are also using Native OLE DB\Microsoft Office 12.0 access Database Engine OLE DB Provider. This connection tests successfully.
We can write a SELECT statement within the SQL Command line and this does pull back data. We just seem to have a problem with the UPDATE and or Create Procedure. In turn we are unable to populate the Mappings. the mappings display the destination box but no fields are displayed within here.
We have had a good look around on the internet but we are struggling to find a solution.
Here is a sample of the code in the form of the update statement we are trying to get working.
UPDATE ReferenceFields
INNER JOIN Addresses
ON ReferenceFields.ID = Addresses.ID
SET ReferenceFields.Reference2 =CustomerName,
ReferenceFields.Reference3 = telephone
WHERE Addresses.UPRN = 12345678910
If I Parse the query it is successful but when I select Mappings a warning is displayed....
Error at Data Flow Task [OLE DB Destination [136]]: No column
information was returned by the SQL command
https://msdn.microsoft.com/EN-US/library/office/ff845861.aspx
https://msdn.microsoft.com/en-us/library/ms141044.aspx
SSIS OLEDB destination with SQL command (Insert if not exists)
After some time I have managed to answer this question myself.
I have added unique parameters to each field I need to update and used the # char to set this.
UPDATE ReferenceFields
INNER JOIN Addresses
ON ReferenceFields.ID = Addresses.ID
SET ReferenceFields.Reference2 = #CustomerName,
ReferenceFields.Reference3 = #telephone
WHERE UPRN = #UPRN
This runs through the code and updates the MS Access database.

Resources