From the SQL Server Express web site it claims that you can use Visual C# Express 2005 with SQL Server Express 2005, but I have yet to find a way to make that happen. When I try to select a data source the only options I get are
Microsoft Access Database File
Microsoft SQL Server Database File
When I try to select the latter, I just go on a wild goose chase where it claims that I don't have credentials with the server.
When I use the regular version of Visual Studio 2005 at work, I also get the option
Microsoft SQL Server
Which lets me connect to SQL Server Express 2005 no problem.
What is a "Microsoft SQL Server Database File" data source anyway, and can I use it to connect to SQL Server 2005 Express If so, how

Is it possible to connect to SQL Server Express?
DrRickS
Just to confirm, the connection succeeds when the connection string is this:
Data Source=KOLOTYLUK\SQLEXPRESS;Initial Catalog=master;Integrated Security=True;Connect Timeout=15
but fails when you append User Instance=True. Likewise: this connection string fails:
Data Source=.\\SQLEXPRESS;AttachDbFilename="C:\Program Files\Microsoft SQL Server\MSSQL.1\MSSQL\Data\Northwnd.mdf";Integrated Security=True;Connect Timeout=30;User Instance=True
but will succeed when you remove User Instance=True. Is this correct
In the "Add new Connection wizard" (back in the IDE), what happens when you open the advanced dialog and set User Instance to False (at the bottom)
Phildo123894
hi,
yes express edition is limited to those 2 databases as sources , you can connect to others but you can't edit them in your ide you have to write the connection manualy
hope this helps
Bjorn Erik
Oh, limited user as in not the admin user. Yes, I have admin privledges.
I tried you program. It fails when I add "User Instance=True"
AlanBlythe
My instance of SQL Server Express is local to my machine. I know it's working because I can connect to it just fine with SQL Server Management Studio Express. I don't see a connection string property in the Advanced Properties dialog. Do you mean Data Source
Data Source=.\SQLEXPRESS;AttachDbFilename="C:\Program Files\Microsoft SQL Server\MSSQL.1\MSSQL\Data\Northwnd.mdf";Integrated Security=True;Connect Timeout=30;User Instance=True
I still can't connect, and all the properties in the Advanced Properties dialog are locked so I can't edit them. The name of my SQL server is KOLOTYLUK\SQLEXPRESS. Could that be a problem
Steve Jo
Since SQL Server is the only program that can understand the MDF file format, the MDF file is handled by SQL server.
All the features mentioned in that link are available in Visual C# Express edition. But in order for them to be available, you must have a working connection to a database server. By working, I mean the Test Connection button returns "Test Connection succeeded" (if it returns something else, then the database connection isn't working for some reason).
I have two more questions:
gOMERpYLE AL
Another thing I forgot to mention is that I have no trouble connecting to SQL Server Express with Microsoft Access 2003, except for the fact that I can't create tables with Access, but I can read them.
One question: in Visual C# Express, is it normal to only have two data sources available
Wil Mullins
Server Name = KOLOTYLUK\SQLEXPRESS
Instance Name = SQLEXPRESS
Authentication Method = Windows Authentication
Network Protocol = <default>
Connection Timeout = 15
Execution Timeout = 0
When I try adding a new database I get:
Timeout Expired. The timeout period elapsed prior to completion to the operation or the server is not responding.
Damien Sauveron
The easiest way to check if you're a limited user is to go through Control Panel -> Users. It will tell you the groups of which you're a member (or in XP, whether you are an admin or limited user).
I don't recall MSDE causing a problem like this (apart from perhaps changing the instance name, theoretically).
On your next point, yes, unless you can connect to some database (either access or sql server), those tutorials and any db related programming will be useless to you.
The regular version of Visual Studio 2005 includes the other data source providers (OLEDB, ODBC, the complete unlocked SQL Server data source). With the regular version, you probably connected through the extra DB providers. C# Express only includes 2 of the providers, and locks out some of their controls to limit what you can do with them (you can still connect programmatically).
Before we start taking drastic measures, I want to confirm if you can connect to SQL server programmatically. For this, please compile and run the following code.
Jerry Griffiths
That's what I mean, that string which starts off with Data Source is called the Connection string. The only time I can think of where .\SQLEXPRESS wouldn't work is if you renamed the computer recently (or you're on a domain).
You said you connected successfully with SQL Management studio. What was it's connection string (ie. What does it say in the dialog box: Object Explorer -> <Server Name> -> Properties -> View connection properties -> Server Name, Instance Name, Authentication Method, Network Protocol, Network Timeout)
Alright, instead of connecting to an existing database, let's try creating a new database. Make a new Windows Application, then choose Add -> New Item -> SQL Database (test.mdf). If the object is added, you will see a DataSet wizard. OK your way out of wizard, then double click on the mdf file inside your project. If this succeeds, you will see the connection appear in the Database Explorer.
Pront
I hope you know that SQL databases are stored in MDF files, right
I'm not sure if C# is able to connect to a catalog made in SQL Server Management Studio. However, you can connect to the underlying MDF file (by default you'll find the MDF files for catalogs located in C:\Program Files\Microsoft SQL Server\MSSQL.1\MSSQL\Data).
Alternatively, you can just make a new MDF file directly from the wizard.
meowbaby7
It seems as you have your login to sqlmode and not Domain... switch to mixed mode to ensure you can connect.
also I would recommend the book that is given free when you register the c# Express, wich teaches you how to handle SQLExpress within the c#Express IDE
DetroitTigers
I don't know if I'm on a limited user account; how can I tell
I'm definately not running a beta version of SQL Server Express, and I have not had one previously installed. I was running SQL Server Desktop Engine prior to running SQL Server Express. Could that cause any problems
Basically I installed SQL Server Express 2005 at home, and then followed the instuctions in the book "Visual C# 2005 Step by Step" for configuring SQL Server. When I tried the database tutorial in the book I was unable to even get started because of the problems.
Later on I installed SQL Server Express 2005 on my computer at work, and followed the same instructions in the book. I had no problem completing the database tutorial. The only difference is at work I have the regular version of Visual Studio 2005 installed.
I enabled Named Pipes, TCP/IP, and VIA under Network Configuration and restarted the server, but not luck - I still get the timeout error message from Visual C#. Named Pipes and TCP/IP are enabled on the client side.
Everything looks OK with the Surface Area Configuration.
RossAu42
So when you use and MDF file as a data source does your application modify the MDF file directly, or does it still go through the server
> Alternatively, you can just make a new MDF file directly from the wizard.
The problem is I can't seem to do much of anything database related with Visual C# Express. Is there an earlier version that is missing a bunch of features or something The version I have doesn't have nearly all the features presented in
http://msdn.microsoft.com/vstudio/express/visualcsharp/features/data/
SevSamp
You've got problems connecting to SQL Server. Are you on a limited user account
I remember there was a bug in the SQL server betas where connecting to the server required giving it a fully qualified name (.\SQLEXPRESS worked for some, (local)\SQLEXPRESS worked for others, localhost\SQLEXPRESS, worked for some others, and someone had to use 127.0.0.1\SQLEXPRESS). But you're running the final edition 9.0.1399.06 (or are you )
Since this is more an SQL server problem than a C# problem, you might want to repost in the SQL server forums. Folks there have better ideas on what to do, but FWIW, here are my suggestions: