locked
ODBC provider is not available in VS express 2012 for web RRS feed

  • Question

  • User-292166378 posted

    I have installed visual studio express 2012 for web and am trying to set up a data connection for a ODBC driver to access data via an existing DSN (notessql). Everything I have found so far says to select the Odbc data provider from the list in a new Data Connection. It is not there. And under "other" it only lists oledb, SQL server compact 4.0, and SQL server.

    I have checked the machine.config files and the odbc is listed under DbProviderFactories. I went so far as to uninstall visual studio, uninstall .NET 4.5, any references to prior versions, and then reinstall visual studio express 2012 for web.

    The list below is in the machine.config file in C:\Windows\Microsoft.NET\Framework\v2.0.50727\CONFIG

    The section in the v4 version was empty so I tried copying the values into the machine.config into C:\Windows\Microsoft.NET\Framework\v4.0.30319 with no luck.

    <DbProviderFactories>
            <add name="Odbc Data Provider" invariant="System.Data.Odbc" description=".Net Framework Data Provider for Odbc" type="System.Data.Odbc.OdbcFactory, System.Data, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"/>
            <add name="OleDb Data Provider" invariant="System.Data.OleDb" description=".Net Framework Data Provider for OleDb" type="System.Data.OleDb.OleDbFactory, System.Data, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"/>
            <add name="OracleClient Data Provider" invariant="System.Data.OracleClient" description=".Net Framework Data Provider for Oracle" type="System.Data.OracleClient.OracleClientFactory, System.Data.OracleClient, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"/>
            <add name="SqlClient Data Provider" invariant="System.Data.SqlClient" description=".Net Framework Data Provider for SqlServer" type="System.Data.SqlClient.SqlClientFactory, System.Data, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"/>
            <add name="Microsoft SQL Server Compact Data Provider" invariant="System.Data.SqlServerCe.3.5" description=".NET Framework Data Provider for Microsoft SQL Server Compact" type="System.Data.SqlServerCe.SqlCeProviderFactory, System.Data.SqlServerCe, Version=3.5.0.0, Culture=neutral, PublicKeyToken=89845dcd8080cc91"/>
            <add name="Microsoft SQL Server Compact Data Provider 4.0" invariant="System.Data.SqlServerCe.4.0" description=".NET Framework Data Provider for Microsoft SQL Server Compact" type="System.Data.SqlServerCe.SqlCeProviderFactory, System.Data.SqlServerCe, Version=4.0.0.0, Culture=neutral, PublicKeyToken=89845dcd8080cc91"/>
        </DbProviderFactories>

    The DSN for my odbc driver works in Excel just fine.   It also works in SQL Server Managment Studio set up as a Linked Server.

    How do I get either of the following to be available in Visual Studio?

    1.  Under Data Provider in Change Data Source have the ".NET Framework Data Provider for Odbc" appear in "other"

    or

    2. Select "other" and selected ".NET Framework Data Provider for OLDEB" and then under OLE DB Provider show "Microsoft OLE DB Provider for Odbc".  It is not listed.

    Thanks!

    (This was previously posted in Visual Studio Installation but it was removed and I was advised to post here)



    Monday, July 15, 2013 12:56 PM

Answers

  • User-801004448 posted

    There is some problem with your visual studio install.

    ODBC data source should be available in data connections

    http://msdn.microsoft.com/en-us/library/2x0tte0f.aspx

    • Marked as answer by Anonymous Thursday, October 7, 2021 12:00 AM
    Friday, July 19, 2013 1:09 AM

All replies

  • User753101303 posted

    Hi,

    Could it be just related to the VS Express UI that would perhaps not show each and every provider but just main ones ? What if you try some code that does try to use the provider. Does it work ?

    Also things to watch out are :
    - a DSN could be less convenient (especially if this is a user DSN as an ASP.NET runs under a particular account that won't have this SDN. I would use a DSN less connection)
    - double check if your code runs in 32 or 64 bit mode (you can't use 32 bit DLLs from 64 bit mode so a 32 bit odbc driver won't be seen if you run in 64 bit mode)

    Monday, July 15, 2013 1:42 PM
  • User-292166378 posted

    I understand the DSN is less than optimal but it is what I have to work with.   It is 32bit.  

    It works fine if I call it directly.  I have a connectionstring in the webconfig and I can connect via the driver by using OdbcConnection.

    public OdbcConnection con = new OdbcConnection("DSN=CIS");

    I would like to be able to set this up as a Data Connetion rather than write my own interface.

    Thanks!

    Monday, July 15, 2013 2:15 PM
  • User753101303 posted

    Gave this a try with VS 2013 Ultimate/Express and this is the same behavior and I'm alsmot sure you had also other differences preivously (not SQL Server just Express with user instances in older VS releases). IMO this is just an intentional differences between UI (perhaps to not embark the code that would be needed to dealt with server explorer and other datasource kinds ?)

    Not sure how this is related with writing your own UI. This is a VS UI and is not usable from within your own app (you want to provide some kind of didalog so that users can configure the source ?) If yes, you could perhaps use an UDL file to tigger the Windows built-in UI (even if you then just copy the content of the resulting file rather than really using it).

     

    Wednesday, July 17, 2013 5:44 AM
  • User-292166378 posted

    Thank you for trying this in VS 2013 Ultimate/Express.  This is the first clue that it is not my installation and ODBC does not seem to be available.  Could anyone else check to see if the ODBC data providers are present in 2012 Express for web or 2013 Ultimate/Express?

    Perhaps I was not clear in my previous post.  I am not trying to rewrite the VS UI.  I am simply trying to determine why my installation of VS express 2012 for web does not show any reference to ODBC in the Data Connections.

    Wednesday, July 17, 2013 6:02 PM
  • User-801004448 posted

    There is some problem with your visual studio install.

    ODBC data source should be available in data connections

    http://msdn.microsoft.com/en-us/library/2x0tte0f.aspx

    • Marked as answer by Anonymous Thursday, October 7, 2021 12:00 AM
    Friday, July 19, 2013 1:09 AM