TFS Build Unit Test with Oracle Instant Client - oracle

I am running TFS 2013 Update 2 on Windows 2008 R2.
I installed the Oracle Instant client 32 and 64. I've tried it with both clients 32/64 and changed the test run mode from x86 to x64.
--Update - I am using Tnsnames.ora and the user\schema and passwords are embedded in the config files. I don't think this is a user or password issue.
--Update - 2
I ran another test. If I delete the oracle folder the Build changes the error to:Oracle client software version 8.1.7 or greater. So the build controller is finding the oracle client. But it's not reading the tns.ora?? It's in the same folder.
I followed these instructions to add the tnsnames.ora as a registry key entry
How can Instant Client on Windows use registry settings?
HKEY_LOCAL_MACHINE\SOFTWARE for a global setting
2. Add ORACLE group key.
3. Add a new string value within the ORACLE key for the different settings you are interested in (NLS_LANG, TNS_ADMIN, etc.)
I rebooted and it still does does not run in the build.
I am running some basic CRUD Oracle test to validate the SPs in our applications.
On the build server we have Visual Studio and it will run the Unit test without issues. That tells me the Oracle client is working fine.
When I run the TFS build and the Unit test, I get the below error:
System.Data.OracleClient.OracleException: ORA-12154: TNS:could not
resolve the connect identifier specified
------Resolved----------
I had to change the permissions on the folder to let the service account have admin access.

The username that is running the build doesn't resolve the Oracle database name. Connect on the build agent with that user and try to do a tnsping.

Related

How to configure SSRS report to access Oracle database on SQL Server machine where Report Server is installed?

I am sure that someone was successful to deployed SSRS report on the server where
SSRS is configured to access Oracle database.
I developed report on my machine where I have Visual Studio 2017,
ODTwithODAC122011 64-bit; 32-bit ODT withODAC122011. I connect to Oracle database and can run report.
After i deployed this report on Windows Server 2016. i got an error "An error has occurred during report processing. (rsProcessingAborted)
An attempt has been made to use a data extension 'ORACLE' that is either not registered for this report server or is not supported in this edition of Reporting Services. (rsDataExtensionNotFound".
I tried to complete the same ODAC install as on my machine.
1)Installed ODTwithODAC122011 64-bit - configured TNS name.
but with step
2) i tried to install 32-bit ODT - I received error that i need to install Visual studio to proceed with installation.
Do i really need VS on the server? What is the possible solution you can share?
thank you --Angelika--
with only the Oracla.DataAccess library should be enough, on the root of the service. Be aware the versions be the same as indicated in the project references

Publish to Azure SQL from Visual Studio 2017 - Unable to connect

I recently set up an Azure SQL Database and server (using the free S0 trial). I've been able to log in to it using SQL Server Management Studio and create a couple users, and I've been able to log in as those users through SQL Server Management Studio. I'm also able to log in and manage the database from Visual Studio's Server Manager and SQL Server Object Explorer.
I have a SQL Database Project in my Visual Studio Solution for an app I'm working on. Using the same connection strings that I've been using in SSMS and VS's server manager, the Database Project is unable to publish to Azure, throwing the following error:
Unable to connect to master or target server '{Redacted}'.
You must have a user with the same password in master or target server '{Redacted}'.
My IP has been added to the firewall and is set to allow access. My username does not include the # sign, and I have tried with and without the #servername with no change. I also tried manually setting up the connection string, and copying/pasting the one in Azure (and populating the username and password).
I currently have the database project's Target Platform set to Microsoft Azure SQL Database V12, which matches what it reports the version as, although I have tried just Microsoft Azure SQL Database and SQL Server 2016.
Seeing as I'm able to connect from every other method I've tried so far, I assume there's something wonky in my publish profile or project that just doesn't stand out to me, or a bug in the publishing utility. Any ideas?
This is a known issue. This happens due to the new compatibility level 140 for newly created SQL Azure databases. The issue has been documented here and updating SSDT from here to the latest version may solve the issue.
Alternatively, you can change the compatibility level of your database to 130.
ALTER DATABASE database_name
SET COMPATIBILITY_LEVEL = 130;
Hope this helps.

VS 2013 Setup Projects Works on one server and does not on another

We recently migrated from VS 2008 to VS 2013 including a set of setup projects. One of the setup projects is meant to install a web application. It has one custom action that is meant to check the connection to the database. The code of the custom action has not been touched during the migration and the .msi works perfectly when generated from VS 2008. When I built the .msi from VS 2013 it works perfectly well when installing on our local development server, and throw an error saying that it cannot connect to the db when rolling out in the clients environment.
I'd really appreciate if anyone can point me into direction of search here. I know that I'm passing a correct connection string, and .msi generated from VS 2008 can connect to that db from the same server.
Visual Studio custom actions that are installed for Everyone will run with the local system account. Connecting to a SQL DB will often fail because the DB doesn't allow the system account to connect, or because the DB is on a network share and the system account has no network privileges.
So it could fail because of the security settings of the DB or because the DB is on a network, and it may be nothing to do with the server. It might also connect if the install runs with a Just me setting because the custom actions then will run with the installing user's credentials. There may also be issues with architecture because servers are 64-bit and the 32-bit subsystem is optional, and you didn't say whether you install was x64 or your custom action code.

Install a SQL Server database to a client's machine

I need to install a SQL Server 2008 database on several user machines. The users are not technically proficient, so I cannot create a script and just give it to them. I need to be able to create an executable that will create the database. The executable will check if the user has SQL Server 2008 Express installed, then install the database. The executable will install the database using Integrated Security, so I don't need the user's id or password.
I tried using the database project in Visual Studio 2010, but it just creates scripts.
Is there an open source solution to creating an executable that installs SQL Server databases?
May I suggest that you look at embedding SQLServer 2008 Express within your application.
Check the Microsoft link here.
Then you can check for an SQL instance and install one if it doesn't exist when the program first starts up.
A simple way would be to use SQL Server Management Objects (SMO) to create a .NET console application that creates the database.
Depending on your security rights on your user's machines you may be able to run the app from your workstation and deploy directly to their machines.
SMO can also be driven by powershell.

Oracle Data Access Components and Visual Studio connection problems

I've created an empty console application in Visual Studio 2010 and I'm attempting to add an Oracle (10g XE ) Data Connection via the Server Explorer. I'm using Oracle ODP .NET as the connector and I get the following error:
ORA-12560: TNS: Protocol Adapter Error
I can access Oracle without issue via the web interface or a console, but continually get this generic connection error in VS. I'm using the default installation of Oracle XE and running it locally.
Any suggestion on how to get this set up correctly ? Every tutorial I find works on the understanding that this connection succeeds. As such I'm struggling to find where to begin to troubleshoot. I'm comfortable with VS2010, but new to the way Oracle does things with their DB.
EDIT 1
While troubleshooting I've found this only happens with the Oracle Data Provider for .NET. Using the .NET Framework Data Provider for Oracle I am able to successfully connect.
EDIT 2
I cleaned up everything and installed 11g XE and the ODAC tools again and continue to get the same message. I realize the error is somewhat generic, I'd be happy to post more information if anyone thinks it helpful. The database is run locally, I can't imagine what kind of 'configuration' an express database would even need...
EDIT 3
The ODAC tools appear to install a 'production' version of Oracle 11 instead of the BETA version that I installed first. Almost appears as if the tool is installing another database ? I also appear to have two ORACLE_BASE locations and two TNSNAMES in what appear to be very similar folder hierarchies. Perhaps a more straightforward tutorial is the answer, Oracle's isn't very descriptive.
Oracle 10g XE seemed to be the problem. A full install of 11g (Full, not Express) took care of the problem entirely.
From here:
Possible fixes for the TNS-12560
include:
Get the latest patches for the SQL*Net client software.
Check your $ORACLE_HOME and $Path variables.
Check File permissions on the PC client.
Ensure that TNS_ADMIN is set correctly.
Check for firewall issues.
Check that the Windows database service is started. Verify teh
ORACLE_SID parameter is set correctly
in the registry.
Wow. I finally got this syntax to work.
I'm a Sql Server guy. I used Oracle back in the da day.
But I'm trying to do some Entity Framework and I said "You're not going to bed until you get Visual Studio 2012 and a edmx file to talk to Oracle.
Geeze.
Here is what I came up with:
Data Source:
Oracle Database (Oracle ODP.NET)
Data Source Name:
localhost:1521/orcl
User Name:
SYSTEM
change the default data source name to localhost.

Resources