Connect Access 2007 to SQL Server 2008 Database - sql-server

I've seen numerous answers to similar questions like this one. I haven't seen on the web many people have asked the seemingly simple question "How do I connect Access 2007 to an SQL server 2008 database" - but all of the answers describe how you can migrate from access 2007 to an sql server 2008 database, or they describe how to connect access 2007 to an sql server 2005 database. I can't find any simple solution to my problem (and probably this is a problem for many others). Here is the question (sorry for the over emphasis):
How do I connect to an sql server 2008 database (and I mean 2008, not 2005 :) ) from access 2007? Apologies again for the over emphasis, but this very simple question, and what I thought should be a very simple task seems, yes, ... impossible!
I tried running sql server browser, enabling pipes, TCP etc, but it seems that with 2008 SQLEXPRESS just isn't recognised! Please can someone help with this.
Peter

Guys - you really should check whether this works before firing off random answers. It takes all of about a minute to run up an Access project and discover that it doesn't actually connect to SQL 2008 easily.
There are plenty of reasons to use projects instead of ODBC, but here's a few:
Existence of DSN on deployment machines cannot be guaranteed
Network traffic - does not do pass-through queries by default
Poor support for stored procedures
Assuming that appropriate protocols have been enabled, the solution is to go to the Advanced tab of the data link dialog and delete the value in the Network Library setting.

There should be no issue with connecting Access 2007 to a SQL Server 2008 database.
You need to make sure that:
Your SQL Server 2008 database is accessible, ie that it isn't locked down and that it is accessible to the machine(s) where you will have your Access 2007 application.
A few things to check:
In SQL Server 2008, go to Properties > Connections > Check "Allow remote connections to this server".
Enable TCP/IP in the Configuration Manager.
Make sure the firewall allows incoming connections on TCP port 1433.
You can also start the SQL Server Browser Service so your SQL Server instance can be found.
You have created an ODBC DSN (a System DSN) using Windows ODBC administration tool. If you're running on a 64 bit system, make sure that you're using the 32 bit version of ODBC to create your DSN, otherwise it will never be visible to Access which is a 32 bits application.
Once you have created the ODBC link (and tested it works) on the machine where Access is installed, you can just link the tables: In Access 2007, in the External Data ribbon tab > import > More > ODBC Database.
Then select the DSN you create for your SQL Server 2008 database and chose which tables you want to link.

Ray,
The reason you are not seeing your database is because of permissions. You need to grant the user name you are using access to your database.
In MS SQL Server Management Studio expand the database you created and go to the security tab to configure the user name you are using. Either add it or create a new user
Hope this will help....

When going through the link or import wizard in Access choose Sql Native Client 10.0. When asked which server you wanrt to connect to, the server will not show in the combo box. If you type the correct name of the server and hit next, you will go to the authentication screen. Use windows authentication if that's what you choose and hit next. On the next screen, check the Change default database box and your server databases should appear; then you know that you have a good connection. Remember you have to type the correct server name, which should be MACHINE NAME\SERVER INSTANCE NAME.

One solution (though this may not apply to SQL Express) is to use an Access Data Project, although in 2007 it's not that intuitive how to do this.
Create a new (blank) DB, but rather than accept the default .accdb extension, change it to .adp. You can also select Access Data Project (.adp) format if you use the browse dialog to set the file location.
Once created, you will be asked if you want to link to an SQL DB... the rest is pretty intuitive, but ask for further details if you need to.

SQL Express 2008 + Access 2007 both on a workstation.
Connect to Adventureworks SQL db from Access 2007.
Here we go...
Open Access 2007
click on the windows or top left icon/ new/ click on blank database/ put in file name/
click on the browse icon/ save as type/ Microsoft Office Access Projects (*.adp)/ click OK/
click Create/ on the question do you want to connect to an existing SQL server database?
click Yes/ you can use the dropdown box to select your computer but put in it like this... (eg if your computer name is "laptop") put in... laptop/SQLEXPRESS
Click on user windows NT integrated security/ hit the down arrow on step 3. Select the database on the server: and it should show the adventureworks database. click test if you like or just OK.

Just had the same problem but found a link that suggested referring to the server in the Data Link Properites Dialog as .\SQLEXPRESS - It would seem the [.] before the instance name made all the difference.
That did the trick for me - I got connected but then access complained that the version combo - Access 2007 & SQL 2008 did not support managing DB objects form Access.
Message was as follows:
This version of Microsoft Access does not support design changes with the version of Microsoft SQL Server to which your Access project is connected. See the Microsoft Office Update Web site for the latest information and downloads. Your design changes will not be saved.

Related

What is the difference between DBMS and Database IDE?

I have been using Microsoft SQL Server 2017 for a while (just DDL and DML) and recently decided to install JetBrains DataGrip because I thought it was another DBMS but with dark theme.
When I try to create a new database it tells me to assign a host/user/password/port and I cannot do anything because it can't "connect to the database". I've been using Microsoft SQL Server Management Studio 2017 and never needed to assign a port/password/host or anything? I just created a new database and started adding/filling tables. How does JetBrains DataGrip work?
I noticed that on the JetBrains DataGrip page it doesn't say it's a DBMS, it says it's a "Database IDE". I cannot seem to find information about this on the web.
When considering a RDBMS such as SQL Server, the core component is a service/engine which acts as an interface between the database (files) and end users or applications allowing database functions to be carried out.
SSMS (SQL Server Management Studio) is just one of many possible end users of the SQL Server Database, and happens to have be part of the SQL Server software suite. It should not, however, be confused with the database itself as SQL Server operates perfectly happily without ever seeing SSMS.
Any form of user interface tool for a database needs to know how to connect to the database it is going to manage. In your case you most likely installed the entire software suite with default settings and as such didn't need to know what they were. JetBrains DataGrip however does need these settings.
You can find out what your specific settings are by running the SQL Server Configuration Manager.
JetBrains DataGrip is just a Database IDE to connect to different database engines via only one environment without needing to install management tools for every database that you want to work with.

Configure remote connections without sql server installation?

We have an application called IpSwitch Whatsup and it's installed in a machine that I can connect to remotely as administrator. This is all in our intranet.
We need to connect to the sql server database being used by IpSwitch Whatsup, but this particular machine doesn't have sql server installed. On the other hand, in sql server configuration manager there is indeed a sql server installation for whatsup (the entry says SQL Server (WHATSUP)).
So, two questions:
How does one go about in connecting to this database? I'm pretty sure I know the name of the database and I already know the server name and instance, so I would like to connect to this DB from a sql server installation in another machine.
How does one configure a sql server installation to receive remote connections if it doesn't have sql server installed?
Thanks.
For the first question, you just type in (or browse) the appropriate instance name and authentication options using SSMS - which is the GUI tool used to manage sql server instances. Note - the term "sql server installation" can mean different things so it is not a useful reference.
As for the second question, review the information here. Note that any task you do in SSMS can be done via tsql - you can see the appropriate commands using the script button in the SSMS dialog windows.
And you can also (and probably should based on these questions) install SSMS on the same machine as your server instance so you can do "anything" "anywhere". Now would probably be a good time to review your disaster recovery options (and start backing up your databases regularly).

Can I connect remote sql server database without management studio

I was working with Visual Studion 2015 and I was using localdb feature to do data access and manipulations. Can I access remote database, which is on azure, in the same way or other without installing ssms?
As marked duplicate, I will make an effort to make this question unique.
I am not asking how to connect remote db using localdb, I was telling I used localdb to connect local databse.
The main question is "Can I access remote database, which is on azure, in the same way or other without installing ssms?"
Seems like #Jude's comment answered it, worth a try.
He is not on about accessing to LocalDB. He is on about the way to access to DB. Yes you can. SQL Server Object Explorer under View menu is what you need. Straight forward process. Basically, you don't need SSMS
-- Credit (Jude - commentor on this post).

SQL Server 2005 setup issue

I have two issues both related to (I believe) my SQL Server setup. I have installed SQL Server (the full thing) from MSDN downloads of the x64 version on my Vista 64 Home Premium box. After running into multiple issues I finally got it working. This is a new box so I ported over a database that I need to work on from another server. That also worked fine. My first issue however came when I tried to open a database in SQL Server Management Studio:
"Unable to find the requested .Net Framework Data Provider. It may not be installed. (System.Data)"
The box itself isn't new and definitely has .NET installed (version 3 I believe). I found that someone posted this as a bug but as the team (SQL Server team) could not reproduce it, they removed it. I've tried installing the recommended SP3 patch to no avail. It's only when I try to open a table for viewing the data (right-click and "Open Table"). I can even execute queries and retrieve results (from inside management studio). I'll follow pretty much any suggestion to try and get this working.
My second issue is that I cannot connect to the server. I thought I could just work around it (with queries), but I did not find that it added any ODBC connections on the box, just the drivers. Management Studio can access the DB just fine, but the machine itself doesn't appear to recognize that anything is running on it, at least on the default port (1433) and no, I do not have a named instance. When trying to manually add the server to the DSN or any datasources it cannot find the SQL server (under Control Panel > Administrative Tools > Data Sources (ODBC). Under SQL Server Management Studio it appears as a registered database server (I think this is because it connects on port 1434 from what I hear? not sure). This is my primary problem, and even if I can't open the tables (the first issue) I absolutely NEED to be able to set it up so that I can connect to it. The language source I am connecting from is ColdFusion which is set up as a stand-alone server (IIS not installed, not using it right now).
As for connecting to it, make sure all the services are running. SQL Server Agent in particular.
Also, check in the SQL Server 2005 Surface Area configuration for Services and Connections. Check under "Remote Connections" to see if "local and remote" connections are on. It might be set to "local only".
CF versions 6+ do not use the OS's ODBC connections. They use JDBC over IP to connect. You need to make sure you have allowed TCP/IP connections to the DB using the SQL Server Configuration Studio. Then, use the Data Sources page in the CF Administrator page (usually localhost:port/cfide/administrator, replacing "port" with the port you're using for the CF built-in server).
Why though, would it default to this
and why would this be an issue with my
own machine (local testing)?
SQL Server 2005 is meant to be more secure by default, so not all the protocols are opened up by default.
Sql Server Agent doesn't have anything
to do with remote connections, but I
seemed to recall there being an issue
with doing discovery on the network if
the Agent wasn't started
Maybe you're thinking of the SQL Browser with named instances.
Did you try this process?
http://oakleafblog.blogspot.com/2007/03/orcas-march-ctp-on-vista-database.html

Access 2000 connecting to SQL Server 2005

The company I work for has an old Access 2000 application that was using a SQL Server 2000 back-end. We were tasked with moving the back-end to a SQL Server 2005 database on a new server. Unfortunately, the application was not functioning correctly while trying to do any inserts or updates. My research has found many forum posts that Access 2000 -> SQL 2005 is not supported by Microsoft, but I cannot find any Microsoft documentation to verify that.
Can anyone either link me to some official documentation, or has anyone used this setup and can confirm that this should be working and our problems lie somewhere else?
Not sure if it matters, but the app is an ADP compiled into an ADE.
I've had a similar problem before when using ODBC linked tables to connect to an Sql Server. The solution was to relink the tables and specify the primary key to the table. If Access doesn't know the primary key it cannot perform inserts or updates.
I haven't any experience with ADPs but it could be a similar thing, theres a knowledge base article about it here http://support.microsoft.com/?scid=kb%3Ben-us%3B235267&x=15&y=13
I'd say check the VBA in the Macros to see how it is doing it. It is probably using some form of VB connection to the Database in the back. I love the fact a Database is contacting a Database for it's data... :)
All I've read about Access 2000 -> SQL Server 2005 is that the upsizing wizard isn't supported.
If only the inserts and updates aren't functioning, it sounds like a permissions issue. Make sure the sql server login you are using in your connection string has read/write permission on your database.
Please avoid using the "sa" account for this purpose!
If only the inserts and updates aren't
functioning, it sounds like a
permissions issue. Make sure the sql
server login you are using in your
connection string has read/write
permission on your database.
Please avoid using the "sa" account
for this purpose!
We wanted to use a generic apps account but that login "could not find" any of the stored procedures even though they existed and the login has explicit permissions to run them (and was also tested successfully, as that user, in SQL Management Studio). It wasn't until we granted that login "sa" privileges that we could actually access the database at all through the application.
but have you tried setting the
compatibilty mode for the database to
sql server 2000.
I'm not really sure how this is done. Could you explain?
Also of note, if we upgrade the app to Access 2003, everything works fine. Unfortunately, our IT dept does not want to upgrade everyone from Office 2000 to 2003, so this is not an option.
Thanks for your help.
I'm not sure about that particular combination being supported, but have you tried setting the compatibilty mode for the database to sql server 2000. Maybe that will resolve your issues.
Edit: To do this run the following SQL:
EXEC sp_dbcmptlevel Name_of_your_database, 80;
More details here: http://blog.sqlauthority.com/2007/05/29/sql-server-2005-change-database-compatible-level-backward-compatibility/
but have you tried setting the
compatibilty mode for the database to
sql server 2000.
I just checked the 2005 database, I selected the database, and clicked Properties->Options, and it says the db is already in 2000 compatibility mode.
Access ADPs are very closely tied to SQL Server versions, and MS has done a really poor job of fixing and breaking ADPs in the 3 major versions that have been released (2000, 2002 and 2003).
If you are trying to use the compiled ADE, I'd suggest that first you find the original ADP and see if you can get it to work. You may need to do some work there before creating your ADE.
Caveat: I don't do ADPs, and am glad I made the decision not to, as Microsoft is now deprecating them in favor of MDB=>ODBC=>SQL Server.

Resources