Connecting to AdventureWorks database (SQL Server 2005 Express) through Visual Studio Professional 2008 - asp.net

I am following the learning ASP.NET 3.5 by O'REILLY to write some ASP.NET 3.5 code using Visual Studio 2008 SP1. I have gotten to the point to where I need to Configure a Data Source using the SqlDataSource control. I chose Microsoft SQL Server (SqlClient) even though I have SQL Server Express 2005 - This seems like the only logical choice.
I get to the Add Connection window and successfully add a Server name and I use the Select or enter a database name of AdventureWorks. When I click on Test Connection I get the Test Connection Succeeded message box.
Unfortunately, when I click OK I get an error message of the following:
Could not load file or assembly 'Microsoft.SqlServer.Management.Sdk.Sfc, Version=10.0.0.0, Culture=neutral,
PublicKey Token=89845dcd8080cc91' or one of its dependecies. The system cannot find
the file specified.
At his point I am at a loss and everywhere I look and find something similar to my issue it involves other versions of either Visual Studio or SQL Server.
I'd really appreciate any help on this!

You may investigate this recipe.

You may need to reinstall your copy of SQL 2005 Express. But sure to install all of the client-side developer packages in the installer.

I had the exact same issue.
Following the suggestions in this thread , I went to the "Microsoft SQL Server 2008 Feature Pack, August 2008 " - and downloaded (and installed) the "Microsoft SQL Server 2005 Backward Compatibility Components ". This did not help.
Then I also downloaded and installed the following components: SharedManagementObjects.msi, sqlncli.msi, SQLSysClrTypes.msi.
And now it works for me.
I'm using SQL Server 2008 Express and Visual Web Developer 2008 Express Edition.

Related

Visual Studio 19 not recognising SQL Server 2012 for ASP.NET

I want to run an ASP.NET project on VS 19 but whenever I open it, it shows an error dialog box that “this project requires SQL Server 2012 which is not installed on this computer” - but SQL Server 2012 is installed with all services running.
And database cannot be created showing an error
A network related or instance specific error
I guess Visual Studio 19 is somehow not recognising SQL Server 2012 services and I can't figure out how to fix it.
Also tried to disable firewall and enable all TCP/UDP Connections but of no use, kindly help as it's very frustrating.
I'm sorry for using sloppy naming schemes as i'm new to Stack Overflow.
Installing SQL Express LocalDB helped me solve the problem, i thought i had it installed from the SQL Express tools available Microsoft SQL Download, but the SQL Express LocalDB was missing. It sounds stupid, but it is what it is, hope it helps anyone else.

Why is no database shown in Visual Studio?

My SQL Server Object Explorer is not showing any databases:
I also get an error A network-related or instance-specific error occurred while establishing a connection to SQL Server. .... When I run the website, the error being shown is The system cannot find the file specified. Furthermore, SQL Server is missing from Services:
(It was installed together with Visual Studio and was never used separately)
Yesterday, everything worked like charm; I had multiple databases with tables and was able to access the data. Today, the same project can't even start, no db's either. What's wrong with Visual Studio here? Thanks
I've had the same problem before. Took me a while to figure it out. What you need to do is go here: https://www.microsoft.com/en-us/download/details.aspx?id=42299
In my case, i'm using SQL Server 2014 Management Studio. You must find the one that suits the version of SQL studio that you're using (2008, 2012, 2014).
Click the big download button and now, it is very important that you choose the proper version. Check:
Express 32BIT\SQLEXPR_x86_ENU.exe if you're running on a 32-bit PC, or
Express 64BIT\SQLEXPR_x64_ENU.exe if you're running on a 64-bit PC
It is very important that you install Express version.
Next, once you install that, you should be able to see the SQL Server (MSSQLSERVER) in your services.msc, along with few other SQL services installed.
Open Visual Studio 2015 and in SQL Server Object Explorer window right click on SQL Server and choose Add SQL Server... option. It should prompt you to connet to the server from SQL Server Management Studio.
If you kept everything by default during the installation, just type . (dot) for the Server name and click connect. Now it should load the database.
It turns out that Visual Studio does not come with MS SQL Server in the default installation. It is necessary to install SQL Server Data Tools from the MS website manually. VS custom installation also allows to do that, but you will need an installer. Just make sure to select SSDT in the custom installation components menu. Additionally, I also ran an update from VS itself that allowed me to install SQL Server 2008, 14, and 16. I am finally able to access DB in VS!

Installing SQL server 2005 if SQL Server 2008 is installed

My application runs on SQL Server 2005. I have added bootstraper to install SQL Server Express 2005. It ensures to install SQL Server Express 2005 at installation time.
My question is if my user has already got SQL Server 2008? Will the bootstraper still work the same way? Will it be able to install SQL Server 2005 as 2008 is advance?
The predefined SQL Server 2005 prerequisite in Visual Studio uses a custom EXE to determine if it needs to be installed or not. So you cannot see the detection criteria.
You can try testing the scenario you mentioned on a clean machine and see what happens. This is the only way you can determine if it will be installed or not.

I have SQL Server 2008 R2 installed, but I still can't run the project and open the database because "the server supports version 655 and earlier."

I have a database in my App_Data folder that was created using SQL Server 2008 R2.
When I try to view a page, I get this error message:
The database 'C:\My Projects\NCPA\APP_DATA\NCPA.MDF' cannot be opened
because it is version 661. This server supports version 655 and
earlier. A downgrade path is not supported.
Could not open new database 'C:\My Projects\NCPA\APP_DATA\NCPA.MDF'.
CREATE DATABASE is aborted.
An attempt to attach an auto-named database for file C:\My
Projects\NCPA\APP_DATA\NCPA.MDF failed. A database with the same name
exists, or specified file cannot be opened, or it is located on UNC
share.
Here's my connection string:
<add name="NCPA" connectionString="Data Source=.\SQLEXPRESS;AttachDbFilename=|DataDirectory|\NCPA.mdf;Integrated Security=True;User Instance=True;MultipleActiveResultSets=True" providerName="System.Data.SqlClient" />
I have SQL Server 2008 R2 and Visual Studio 2010 installed on my computer. I've searched this problem all over, and everything says "You need R2", but I already have it.
I've also seen that I need to check the SQL Server instance name by going to Tools > Options > Database Tools > Data Connections, mine just says SQLEXPRESS. Is that right? Should it be something else?
What do I need to do here? Is there something that I might not have installed? Is there a setting in Visual Studio that I need to change? I feel like every solution I've found is so vague, or the solution is something I've already done.
EDIT: Here's what I have if I start up SQL Server, and go to Help > About:
Microsoft SQL Server Management Studio - 10.50.1617.0
Microsoft Analysis Services Client Tools - 10.50.1617.0
Microsoft Data Access Components (MDAC) - 6.1.7600.16385
Microsoft MSXML - 3.0 4.0 6.0
Microsoft Internet Explorer - 9.0.8112.16421
Microsoft .NET Framework - 2.0.50727.4961
Operating System - 6.1.7600
While you may have installed SQL Server 2008 R2, are you sure you upgraded the instance you're using to R2?
Use the SQL Server Installation Center from your R2 media and the "Upgrade from SQL Server 2000, SQL Server 2005, or SQL Server 2008" option to upgrade your SQLEXPRESS instance to R2.
My guess is that your code is trying to connect to the database instance that was install with Visual Studio 2010 instead of the SQL Server 2008 R2 instance that you have installed.
Are you really, really sure that the SQL Server you are trying to attach the database to is SQL Server 2008 R2?
Your error message says that your SQL Server only supports version 655, and everything I found concerning these version numbers said that version 655 is SQL Server 2008 (non-R2):
SQL Server: Attach incorrect version 661
SQL Server 2008 R2 bumps the database version
Cannot read SQL Server 2008 database - version increased to 661 from 655
If you really have SQL Server 2008 R2 and it still doesn't work, you'll probably have to re-install the server, like raym0nd said in the comment to his answer.
EDIT:
Steven, none of the numbers you posted is the "real" version number of your SQL Server.
You can find out the actual version number by running select ##version in a query window in Management Studio.
On my machine, Help --> About says Microsoft SQL Server Management Studio - 10.50.1617.0 like on your machine, but when I run select ##version I get this:
Microsoft SQL Server 2008 (SP1) - 10.0.2531.0 (X64) Mar 29 2009 10:11:52
Copyright (c) 1988-2008 Microsoft Corporation Express Edition (64-bit)
on Windows NT 6.1 <X64> (Build 7601: Service Pack 1)
And here comes the weird part:
I am 100% sure that I installed SQL Server 2008 R2 on my machine.
In fact, the SQL Server stuff in my start menu says "SQL Server 2008 R2" everywhere, and the Help --> About window that you mentioned has a huge SQL Server 2008 R2 logo as well.
But according to several lists that I just found, 10.0.2531.0 is SQL Server 2008 SP1.
So my installation seems somehow messed up as well.
Strange, very strange...
I encountered the similar issue, when trying to attache an .mdf files that was created on another machine running SQL Server 2008 R2 Express, to the SQL Server 2008 R2 Express on my machine..
I did install 2008 (non-R2) and then 2008 R2 on my machine.
After spending hours googling to find a solution, eventually unsuccessful, I simply decided to download the installer SQLEXPR_x64_ENU.exe from here and run it again, hoping it would solve (Windows 7 64 bit)
On the installation Wizard under Installation, I selected Upgrade from SQL Server 2000, SQL Server 2005 or SQL Server 2008 and continued to press Next until it disappeared (Obviously you will have to wait until it finish processiong each step).
That's it. I was able to attach the same file..
Download and reinstall the new MS R2 SQL SERVER , When Microsoft updates something, it doenst support older versions most of the time.
Here what worked for me without trying any updates!
From Visual Studio --> Server Explorer --> Add New Connection
Change the data source to Microsoft SQL server
Server name : My computer's name or localhost
At the drop down list choose the database you want
Everything works fine! No updates and no 661 problems!

Can't find microsoft.sqlserver.batchparser.dll

I wrote an asp.net web app which uses SMO against SQL Server 2008 to be able to run some DB scripts. It references these assemblies (in the C:\Program Files\Microsoft SQL Server\100\SDK\Assemblies folder):
Microsoft.SqlServer.ConnectionInfo
Microsoft.SqlServer.Management.Sdk.Sfc
Microsoft.SqlServer.Smo
The microsoft.sqlserver.batchparser.dll is not in this folder.
Locally (32 bits machine, IIS7) I have no issue.
When I publish the app to my hosting provider (discountasp.net, SQL Server 2008, IIS7, 32bits too), I get this error:
Could not load file or assembly
'Microsoft.SqlServer.BatchParser,
Version=10.0.0.0, Culture=neutral,
PublicKeyToken=89845dcd8080cc91' or
one of its dependencies. The system
cannot find the file specified.
I searched my local machine and I can't find this assembly. However it works well on this machine.
The "Microsoft SQL Server 2008 Setup Discovery Report" tool reports I have v10.1.2531.0 installed locally.
To get this dll, you will need to install the Microsoft SQL Server 2008 Management Objects (available from here). That particular dll gets installed into the GAC, which is why you probably cannot find it using a search.
As you are using a hosting provider, it would appear that they do not have this installed. Your choices are to get it installed by them (which is probably unlikely), or deploy the dll manually (which may be on dodgy licencing ground).
First you need to enable browsing of GAC folder:
1. go to Registry Editor (RUN > regedit)
2. go to HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Fusion
3. Right click Fusion > NEW > DWORD
4. Type DisableCacheViewer
5. Double click DisableCacheViewer
6. Set value to 1
then you can find it here
C:\Windows\assembly\GAC_32\Microsoft.SqlServer.BatchParser\10.0.0.0__89845dcd8080cc91
You need to have the SMO components installed on your hosting provider as well. You can download them here.
I had a similar issue, but with R2. For me it worked by installing Microsoft® SQL Server® 2008 R2 Shared Management Objects and dependant Microsoft® System CLR Types for SQL Server® 2008 R2.
Find them here http://www.microsoft.com/en-us/download/confirmation.aspx?id=16978
I resolve this only Just Right Click on Project navigate to Properties and Change Platform Target from 'Any' to 'x86'
You could install the SQL Client Connection feature from the SQL Server DVD as well. I installed that as well as the SDK components to resolve this issue while installing SolarWinds.
I had SMO x64 installed, but SMO x86 was required on build server.
<startup useLegacyV2RuntimeActivationPolicy="true"> in App.config
This happened to me today. Running as administrator did the trick for me, I'm not sure why.
It's not ideal for production, but might work just fin for development environments.
Install the 'Microsoft Visual C++ 2013 Redistributable (x86)' if it is not showing up in add/remove programs.

Resources