I am trying to generate SSIS packages with BIML to load data from an Oracle (11.2) to the staging area of our DWH on SQL Server.
I had no issues whatsoever creating the job in plain SSIS. However, using the exact same connection string on the AdoNetConnection node in BIML gives me the following validation error when I try to generate the SSIS packages:
FlowFramework, Version=5.0.63316.0, Culture=neutral,
PublicKeyToken=015f370a62f9a1a3. Node ADO NET Source: Could not
execute Query on Connection ORA_TEST
A network-related or instance-specific error occurred while
establishing a connection to SQL Server. The server was not found or
was not accessible. Verify that the instance name is correct and that
SQL Server is configured to allow remote connections. (provider: SQL
Network Interfaces, error: 25 - Connection string is not valid).
The wording "SQL Server" made me wondering if for some reason the specified provider is ignored (that if the error is piped through from the underlying provider).
I created a minimal example for testing purposes that's just a source-target mapping and reverse engineered it using BIMLExpress. The connection manager looks as this (I added the password part):
<AdoNetConnection Name="ORA_TEST"
CreateInProject="true"
ConnectionString="DATA SOURCE=XXXX:1521/XXXX;USER ID=XXXX;Password=XXXX;PERSIST SECURITY INFO=True;"
Provider="Oracle.ManagedDataAccess.Client.OracleConnection, Oracle.ManagedDataAccess, Version=4.122.1.0, Culture=neutral, PublicKeyToken=89b483f429c47342" />
The reverse engineered minimal example throws the very same error, even though the connection string and provider are identic to the ones I can see when I right click on the working (manually created) connection manager and click "View code".
Resorting to an OleDb connection is not an option in our case. We're using a managed SSIS runtime on Azure and failed to get the OleDb provider for Oracle working on it. The manually built package using the Ado.NET connection manager works, which is why I need to figure a way to generate the package with an Ado.NET connection and the Oracle Managed Data Access provider.
Any ideas how to fix this?
Related
I am trying to create an OLE DB connection in SSIS that I want to use for this package I am building which basically is supposed to do an ETL having it's source from Excel and the output in a SQL table. However, I am getting the error as below when trying to connect to the server and check in. I am using windows authentication and trying to connect locally using the '.' I also couldn't find the sql server configuration manager in my computer. I reinstalled my management studio 2018 version, but the didn't fix it either. Any insights would help on resolving this issue.
Thanks
Error message:
TITLE: Connection Manager
Test connection failed because of an error in initializing provider.
Login timeout expired A network-related or instance-specific error has
occurred while establishing a connection to SQL Server. Server is not
found or not accessible. Check if instance name is correct and if SQL
Server is configured to allow remote connections. For more information
see SQL Server Books Online. Named Pipes Provider: Could not open a
connection to SQL Server.
I have a very weird issue with SSAS Tabular connecting to a SQL Server source database. I've spent almost the entire day on this, and searched online in various ways to find a helpful answer, but none of the suggestions solved this mysterious problem for me.
It used to work fine, but I tried various connection settings (Windows vs SQL authentication, and different impersonation modes), but now I no longer can get it to work (even if I revert back to the previous bim file in source control).
When I process a table from the WORKSPACE database (through SSMS), it works. But when I process a table from the DEPLOYED database (still through SSMS), it does NOT work.
The connection I am using is:
-SQL Server Native Client 11.0
-Windows Authentication
-Impersonation mode of a Windows account (which has the appropriate permissions)
The source database is in a SQL Server database located on a different server (but in the same network).
I have searched everywhere online, but didn't find anything that could help me.
I have tried changing the connection driver (OLE DB Provider for SQL Server), and I have restarted the SSAS Tabular service.
The full error message I get when trying to process a table on the deployed database is:
Failed to save modifications to the server. Error returned: 'OLE DB or ODBC error: Login timeout expired; HYT00; A network-related or instance-specific error has occurred while establishing a connection to SQL Server. Server is not found or not accessible. Check if instance name is correct and if SQL Server is configured to allow remote connections. For more information see SQL Server Books Online.; 08001; Named Pipes Provider: Could not open a connection to SQL Server [5]. ; 08001.
A connection could not be made to the data source with the Name of 'DataWarehouse'.
'.
In fact, after I tried a second time to restart the SSAS Tabular service, the error message I get after attempting to process a table is slightly different:
Failed to save modifications to the server. Error returned: 'OLE DB or ODBC error: A network-related or instance-specific error has occurred while establishing a connection to SQL Server. Server is not found or not accessible. Check if instance name is correct and if SQL Server is configured to allow remote connections. For more information see SQL Server Books Online.; 08001; SSL Provider: The requested security package does not exist
; 08001; Client unable to establish connection; 08001; Encryption not supported on the client.; 08001.
A connection could not be made to the data source with the Name of 'DataWarehouse'.
'.
According to your description, it seems to be related to connection problem. You need to check whether corresponding SQL server service and SSAS Service is running(check server which contains "DataWarehouse" is running and can be connected). You could go to "SQL Server Configuration Manager " to restart them.
In addition, you also need to make sure your current windows credential can access this database(if you use window credential). And check whether this server enable remote connect.
Zoe
I am trying to connect from my SSAS server to SQL through SSMS and the connection works fine when I test it. But when I am processing the cube, I am getting the below error message.
OLE DB error: OLE DB or ODBC error: A network-related or instance-specific error has occurred while establishing a connection to SQL Server. Server is not found or not accessible. Check if instance name is correct and if SQL Server is configured to allow remote connections. For more information see SQL Server Books Online.; 08001; Client unable to establish connection; 08001; Encryption not supported on the client.; 08001.
I have looked the other similar error message that was posted and tried the below options as per the suggestions.
SSAS - OLE DB error in establishing a connection
1. Restart SSAS Service
2. Restart SSAS using local system
3. Trying to change the Provider to Native OLE DB\Microsoft OLE DB Provider for SQL server, but still I am getting the below error
OLE DB error: OLE DB or ODBC error.
I am stuck with this for more than 3 days and not able to progress anything beyond. I tried all other Providers as well and still it doesn't work.
Additionally I made sure that the Windows account I am using in data source of SSAS server is having db_owner on the SQL data base.
Any help would be really appreciated to get me out of this.
I was able to get a solution for this upon trial and error method for selecting the below changes. I have tried to set the
1. Provider as "Native OLE DB/Microsoft OLE DB Provider for SQL Server"
2. Changed the connection from Windows Authentication to SQL connection.
3. The type of Impersonate Account from Windows Authentication to Authenticate by Service Account.
Once the above settings were done, I was able to process the Cube.
My boss wants me to figure out a problem we are facing. The problem is that we have a SSIS Project we built using Microsoft SQL Server data tools and are trying to execute that package on SQL Server 2014 Management studio.
It is listed under the SQL Server Agent as a Job and when we execute the job, we get an error: Description: SSIS Error Code DTS_E_OLEDBERROR. An OLE DB error has occurred. Error code: 0x80040E4D. An OLE DB record is available. Source: "Microsoft SQL Server Native Client 11.0" Hresult: 0x80040E4D Description: "Login failed for user '********'."
In our SSIS properties under security, our protection level is "EncryptSensitiveWithUserKey". I've done a ton of research and it shows to either change that property to "Don'tSaveSensitive", which we need to save the password, or creating a user proxy to serve as a median across the platforms.
We are able to execute the project on the SQL Server Data Tools interface, but not when uploading the Job onto SQL Server 2014 Management Studio. We believe it's because the login is failing as stated in the error above.
How would I go about connecting the two platforms together? Would a user proxy work for this case?
I am still new to this, so please correct any errors I have above kindly.
When you use encrypt with user key that means that when the developer on the current machine, using the current login info, SSIS will decrypt everything when the package is opened by the developer on the same machine. To use the package on another machine you should use another setting such as EncryptSensitiveWithPassword.
I have an MVC web application using EF 5.0 (Code first) that connects to a local database (on the same server) using this connection string:
"Data Source={server}\{instance};Database={database};user id=sa;password={password}"
The database is dropped and re-created when the DbContext is first initialised. After that it throws the following exception:
System.Data.ProviderIncompatibleException: An error occurred while getting provider information from the database. This can be caused by Entity Framework using an incorrect connection string. Check the inner exceptions for details and ensure that the connection string is correct. ---> System.Data.ProviderIncompatibleException: The provider did not return a ProviderManifestToken string. ---> System.Data.SqlClient.SqlException: A network-related or instance-specific error occurred while establishing a connection to SQL Server. The server was not found or was not accessible. Verify that the instance name is correct and that SQL Server is configured to allow remote connections. (provider: SQL Network Interfaces, error: 26 - Error Locating Server/Instance Specified)
I've hosted another application on the same server, using exactly the same connection string to access the database using a SqlConnection object in old-school ADO.Net fashion which connects fine.
I've checked for similar posts and all suggest a number of things which I have tried but have not solved the problem:
Add TCP/IP aliases for server instances
Check firewall allows inbound connectivity via TCP:1433 and UDP:1434 ports
Check that SQL Server Browser is running on the server
Check that the connection string is valid and that the specified user has access to the SQL Server instance
Just to add a odd twist to the whole thing: I can connect to the same database on the same server from my workstation running IIS Express but as soon as it's hosted on the server I get the above problem.