Oracle Developer Tools for Visual Studio 2017: Error Message in VS2017 PRO - oracle

I have installed Oracle Developer Tools for Visual Studio 2017. I am now finally able to create my database classes within VS2017 without switching back to VS2015.
After the installation I am getting the following error message upon opening an old project and also when creating a new Oracle database connection (in a new project) in Visual Studio 2017:
oracle data provider for .net has been installed without a
machine-wide configuration
(...) Also found anoher version in the GAC that might be incompatible, please uninstall it and restart VS2017
(Poorly translated the german message to english, but you get the point)
Problem is: The version in my GAC is the newer version needed for VS2017. I definitly do not want to uninstall that, but the non machine wide data provider from earlier. I can't find anything about how to do that. Do you guys have any ideas?
Please forgive me if my attempt itself is not smart at all => I haven't installed Oracle Tools for VS before and ran into loads of problems doing so earlier.
Just for the record: I have been trying to google for a solution, but I did not manage to find one. If you got the key-Keywords let me know-
I installed this Version from 6th july 2017
Oracle Developer Tools for Visual Studio 2017 (12.2.0.1.0)
This download includes:
Oracle Developer Tools for Visual Studio 12.2.0.1.0 Oracle Data
Provider for .NET 4, Managed Driver 12.2.0.1.0 Oracle Providers for
ASP.NET 4 12.2.0.1.0

I did a lot of installing of the Oracle tools before getting it to work. Not an expert, but I found many installations of my "Oracle Home". In order to uninstall versions that I did not want, I used the Oracle Universal Installer. This is found (for Windows 7) in "Start Menu -> All Programs -> Oracle-Ora Client-your specific client -> Oracle Installation Products.
Run the installer and choose which oracle home you want to uninstall. You should be able to determine which one is the one that you want to uninstall by looking at Registry Keys, HKLM->Software->Oracle. Also HKLM->SOFTWARE->Wow6432Node->ORACLE. There may be others, search for Oracle keys.
SO figure out which oracle home you want to uninstall and use the Universal Installer to remove it. This should preserve the installation that you want and remove the one you don't. I'm not an expert, just offering what has worked for me.
In Visual Studio 2017, when I create new connection (using the wizard), there is a hard-coded path to a TNSNAMES.ORA file, that can't be changed through the wizard. It is set up through the above-mentioned registry keys. This is key to mapping your Data Source to an actual database. Hope this is helpful.

Related

Origin of MSSqlLocalDB and ProjectsV##

I previously had only SQL version 12 of both (localdb)\ProjectsV12 and (localdb)\MSSQLLocalDB
This is when I had VS 2015 Update 1 installed, along with SSDT tools(for database projects).
I installed Update 2 and now have:
Notice MSSQLLocalDB is still on the old version.
However, a coworker did a fresh install of VS 2015 and has this:
So they are on a newer version of MSSQLLocalDB, and I am on an older. Even though we are both up to Update 2 of Visual Studio.
I had hoped to move to using the version independent name of MSSQLLocalDB. The problem is, this won't work if everyone is on different versions, because I have the build setup to deploy the Database project to localdb, which requires use of SqlPackage, which is version specific:
C:\Program Files (x86)\Microsoft Visual Studio 14.0\Common7\IDE\Extensions\Microsoft\SQLDB\DAC\120\SqlPackage.exe
I want to understand where and how MSSQLLocalDB gets installed and updated. I'm pretty sure ProjectsV12/13 comes as part of the Visual Studio install.
What installs MSSQLLocalDB, and what updates it?
Duplicate
The proposed duplicate just describes the MSSQLLocalDB as "the SQL Server 2014 LocalDB default instance name". This doesn't say anything about what it is installed as part of, or what updates it. Thanks
There are several related questions here.
What version of SqlPackage.exe to use
SqlPackage and all the SSDT tools are backwards compatible to SQL Server 2005. You should use the following 130 version to run against any database. It has the latest bug fixes and can target all publicly released SQL versions:
C:\Program Files (x86)\Microsoft Visual Studio 14.0\Common7\IDE\Extensions\Microsoft\SQLDB\DAC\130\SqlPackage.exe
This will work against MSSQLLocalDB regardless of whether it is v13.0 or v12.0.
LocalDB Instances - how are they created and managed
MSSqlLocalDB is a default instance always installed on the machine. The ProjectsV12 and ProjectsV13 are created by SSDT using the LocalDB API. The purpose of having separate versions is
To keep isolation from the default instance, since this is used by many other processes & project types
To ensure we have a known version (e.g v13) so that we can reliably publish with the latest SQL Server features to it
Why do you and your coworker have different instances
Your coworker installed VS2015 Update 2 directly, with no previous version installed. This means the older code never created a ProjectsV12 instance on their machine.
What installs MSSQLLocalDB, and what updates it
If you've previously installed LocalDB v12.0 (by using SSDT as part of VS2015 RTM or Update 1), it will have connected to & started MSSqlLocalDB. Hence, it created the instance as version 12.0.
If you never started this instance before (e.g. your colleague's example), then when first started it will be run from the v13.0 LocalDB and hence get v13.0 as the instance version.
As far as I am aware, it will not be upgraded from v12.0 to v13.0 at any point.
Does MSSqlLocalDB version matter?
This depends. For most testing & ad hoc development this really doesn't matter.
If you care about version, for example if you're creating mdf of .bak files for application use, then you should use the LocalDB APIs to create a specific SQL version. Just download the relevant versioned MSI, install, & use the -version flag during instance creation via the API or command line. This may be the case too if you're using formal SSDT Publish operation instead of F5 deploy, though using the "Allow Incompatible Platform" option should work fine to work around.

Oracle development tools for visual studio not installing [duplicate]

Having installed managed ODP.NET on my computer, the ODP.NET Managed Driver does not appear inside the Choose Data Source dialog in Visual Studio 2013 Professional.
This is how it should look like:
This is how it actually looks on my machine:
I've followed the steps described in the "An Easy Drive to .NET" article on the Oracle website.
I've also installed the Oracle Developer Tools for Visual Studio. Still no managed driver to select.
My question:
Is there anything I forgot to do in order to make the data provider appear?
The generic answer to this question is "(Re)install 'Oracle Developer Tools for Visual Studio' (ODT)". Simply getting ODP.NET from Nuget or from other sources is not enough to take advantage of Visual Studio integration. You must install ODT also.
Download "ODTwithODAC":
http://www.oracle.com/technetwork/topics/dotnet/utilsoft-086879.html
Update 4/2018: If you are using Visual Studio 2017 Community edition, please upgrade to version 12.2.0.1.1 or later. That is the first version that works with VS 2017 CE: http://www.oracle.com/technetwork/topics/dotnet/downloads/odacmsidownloadvs2017-3806459.html
As you noticed, sometimes installations get munged. So if you do not see the driver in the dialogs or are getting generic (non-oracle ORA-) errors when you try to use features then you should reinstall ODT.
Open your Registry editor and check if RegKey HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\.NETFramework\v4.0.30319\AssemblyFoldersEx\odp.net.managed exists. It contains only the (Default) value with location of your Oracle.ManagedDataAccess.dll.
Add the key in case it is missing, example:
Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\.NETFramework\v4.0.30319\AssemblyFoldersEx\odp.net.managed]
#="c:\\oracle\\product\\12.1\\odp.net\\managed\\common"
You can also try the Oracle config scripts at {ORACLE HOME}\odp.net\managed\x64\configure.bat and {ORACLE HOME}\odp.net\managed\x86\configure.bat, they should do the same
Then check your compile options whether you selected target Framework at least to .NET Framework 4.
Update for Release 12.2
Key odp.net.managed seems to be used in old version 12.1. Latest release uses Oracle.ManagedDataAccess:
Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\.NETFramework\v4.0.30319\AssemblyFoldersEx\Oracle.ManagedDataAccess]
#="C:\\oracle\\product\\12.2\\Client_x64\\odp.net\\managed\\common"
[HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\.NETFramework\v4.0.30319\AssemblyFoldersEx\Oracle.ManagedDataAccess.EntityFramework6]
#="C:\\oracle\\product\\12.2\\Client_x64\\odp.net\\managed\\common\\EF6"
While Wernfried posted his answer I tried at the same time the following approach:
Uninstall any previously installed Oracle packages/drivers.
Restart Visual Studio.
After these steps, the drivers were present:
I'm still not 100% sure, why a simple uninstall fixes something.
Old post but same issue. THe root cause is - i think - if you have VS 2022 installed the ODT for VS 2017 or 2019 does not install properly. I had to uninstall all versions of VS, reinstall VS 2017, reinstall ODTwithODAC183. Ensure that it can actually find the latest version of VS 2017 - I used the Visual Studio installer and it installed the latest version of VS 2017 Pro. I think that made a difference too. It looks like otherwise the installer won't find VS 2017 properly (if 2022 is installed) and the whole thing is fubar.
To test if it's installed correctly, add a entity data model and you should be able to see the oracle option in the data source list.
I has same error. Since I installed vs2015 Update 3.
solve
Reinstall Oracle Developer Tools for Visual Studio 2015.
http://www.oracle.com/technetwork/topics/dotnet/downloads/odacmsidownload-2745497.html
ref
https://community.oracle.com/thread/648192

Oracle Developer Tools 12 install fails claiming I have Windows XP. I have Windows 7

I got ODTwithODAC121021 here It installs the Oracle Client, ODAC, and ODT bits.
When I run the installer, the prerequisite check fails with this:
Reference data is not available for release "12.1" on the operating system distribution "Windows XP5.1".
I actually have Windows 7 Professional SP1
Huh?
My intent is to get the ODT bits into Visual Studio 2010 so I can use Server Explorer and Entity Framework. I don't really need a new Oracle Client, I've already got one installed to match our 11g server version, but it seems I can't pick and choose with this installer, which won't run.
Suggestions? thanks.
This is a bug in this specific version of the Oracle Installer. Here is the workaround:
After making sure the installer is not running, please open up this file in the staging area where you unzipped ODAC:
....\stage\cvu\cv\admin\cvu_config
And in that file change the CV_ASSUME_DISTID value that is there to 6.1
Then save the changes and run the installer again.
This will force the installer to assume you have Windows 7.

Install Performance Tools for SQL Server 2008

We have SQL Server 2005 Enterprise Edition here.
I have been using SQL Server Management Studio 2008 for connecting to our Data Source - this has been working fine for the last year.
When I first got here, I found an article on this site that stated that to install Management Studio, you just down the SQL Server Express 2005/2008 installer. Once installed, it will give you access to features according to the SQL Server version of the Data Source (this worked a treat).
I now need to use SQL Profiler, but it isn't present in SQL Server 2008 Management Studio.
Through searching online, I apparently need to tick the "Management Tools - Complete" option - but this option is not present on the installer.
I am using SQLEXPRWT_x64_ENU.exe to attempt to install this but the feature is not present, it only has "Management Tools - Basic" available.
There does not seem to be a way to point the installer at my Data Source, so that it can see that it will be used with an Enterprise licensed server.
I have tried downloading various versions, but still the "Complete" option is missing.
Is there an installer that I can download with this option enabled, or do I have to ask my support services team to speak to Microsoft to provide a special installation program for me to get this facility?
Any help on this issue will be greatly appreciated.
MS does not provide the SqlProfiler with Express versions of Sql Server. I have been looking for a profiler alternative myself, found ExpressProfiler on Codeplex but its a bit crude and not very configurable. This one works quite nicely: http://www.codeproject.com/Articles/784905/Real-time-Tracing-With-SQL-Server-Express

SSIS packages failing to load in VS 2008

I have a problem when trying to load an SSIS package in VS 2008. In the about it says it has "SQL Server Integration Services" installed but on loading a package I get a message that says:
Microsoft Vistual Studio is unable to load this document:
To design
Integration Services packages in Business Intelligence Development
Studio, Integration Services has to be installed by one of these
editions of SQL Server 2008: Standard, Enterprise, Developer or
Evaluation. To install Integration Services, run SQL Server Setup and
select Integration Services.
I thought maybe it was a version problem so I thought I'd look at a new Intergation Services project to play spot the difference. However when I told visual studio to create a new IS project (which was in the list quite happily) it created it and then gave me the above error message again.
To give some idea about my environment I have several version of Visual Studio (2k5, 2k8, 2k10) and several version of SQL server (2k5, 2k8) so I don't know if there is some confusion between versions...
The other thing that I am wondering is if there is a problem with what order things got installed in (ie my VS2008 wasn't installed when SSIS stuff was installed).
I am hoping there is a simple approach to this that won't mean reinstalling things. I can go to our IT to ask them to try to get it working but that would take some time. If it does come to that though I'd like to have some idea of what I should ask them to install since it does seem to be all installed currently...
So if anybody can either a) help me work out precisely what components are installed and what is missing that would be great. Bonus points for helping fix it without needing the install media...
Edit: A thought occurs to me. Coudl it be that I only have 2005 Integration Services installed? If so how can I determine that? And I still am not sure why VS is behaving as it is and letting me create a project but no SSIS in it, even if they were older versions...
Edit: Also it seems that if I load up VS 2005 I can create IS projects but of course can't load up the newer SSIS packages, I assume because they are from a newer version maybe...
Edit: Version information for SSIS in VS 2008:
Microsoft SQL Server Integration Services Designer
Version 10.0.1600.22 ((SQL_PreRelease).080709-1414 )
The following line can tell you the version of the package:
<DTS:Property DTS:Name="PackageFormatVersion">3</DTS:Property>
3 is for 2008, 2 is 2005 and 6 is 2012.
By the way, how patched is your system? The 10.0.1600.22 does sound like the original installation of 2008. Try to install SP3 and the latest cumulative update - this will bring your installation to 10.00.5788 and the issue might go away.
If you previously had the components from a Express 2008 installation, and then you install an Standard, Enterprise, Developer or Evaluation, instead of actually installing a new instance/components (probably you see Integration Services grayed out) use the Upgrade option of the SQL Server 2008 setup, and then VS will load perfectly the DTSX file.

Resources