5

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

4

7 回答 7

3

伙计们 - 你真的应该在随机回答之前检查这是否有效。运行一个 Access 项目大约需要一分钟,然后发现它实际上并不容易连接到 SQL 2008。

使用项目而不是 ODBC 的原因有很多,但这里有一些:

  • 无法保证部署机器上存在 DSN
  • 网络流量 - 默认情况下不进行直通查询
  • 对存储过程的支持不佳

假设已启用适当的协议,解决方案是转到数据链接对话框的高级选项卡并删除网络库设置中的值。

于 2009-05-06T12:41:16.730 回答
2

将 Access 2007 连接到 SQL Server 2008 数据库应该没有问题。

您需要确保:

  1. 您的 SQL Server 2008 数据库是可访问的,即它没有被锁定,并且您将拥有 Access 2007 应用程序的机器可以访问它。
    需要检查的几件事:

    • 在 SQL Server 2008 中,转到属性 > 连接 > 选中“允许远程连接到此服务器”。
    • 在配置管理器中启用 TCP/IP。
    • 确保防火墙允许 TCP 端口 1433 上的传入连接。
    • 您还可以启动 SQL Server Browser 服务,以便找到您的 SQL Server 实例。
  2. 您已使用 Windows ODBC 管理工具创建了 ODBC DSN(系统 DSN)。如果您在 64 位系统上运行,请确保您使用 32 位版本的 ODBC来创建您的 DSN,否则它永远不会被 32 位应用程序 Access 看到。

  3. 在安装 Access 的计算机上创建 ODBC 链接(并对其进行测试)后,您可以链接表:在 Access 2007 中,在“外部数据”功能区选项卡 > 导入 > 更多 > ODBC 数据库中。
    然后选择为 SQL Server 2008 数据库创建的 DSN,并选择要链接的表。

于 2009-03-12T02:59:30.503 回答
1

通过 Access 中的链接或导入向导时,选择 Sql Native Client 10.0。当询问您要连接到哪个服务器时,该服务器不会显示在组合框中。如果您输入正确的服务器名称并点击下一步,您将进入身份验证屏幕。如果这是您选择并点击下一步,请使用 Windows 身份验证。在下一个屏幕上,选中更改默认数据库框,您的服务器数据库应该会出现;然后你知道你有一个很好的连接。请记住,您必须输入正确的服务器名称,它应该是 MACHINE NAME\SERVER INSTANCE NAME。

于 2011-10-27T17:29:54.730 回答
1

雷,您看不到数据库的原因是权限。您需要授予您正在使用的用户名访问您的数据库。在 MS SQL Server Management Studio 中展开您创建的数据库并转到安全选项卡以配置您正在使用的用户名。添加它或创建一个新用户

希望这会有所帮助....

于 2010-04-10T21:20:35.723 回答
0

SQL Express 2008 + Access 2007都在工作站上。从连接到Adventureworks SQL数据库Access 2007。开始了...

  • 开放存取 2007
  • 单击窗口或左上角图标/新建/单击空白数据库/输入文件名/
  • 单击浏览图标/另存为类型/Microsoft Office Access Projects (*.adp)/单击确定/
  • 在您要连接到现有 SQL Server 数据库的问题上单击“创建/”吗?
  • 单击是/您可以使用下拉框选择您的计算机,但像这样输入...(例如,如果您的计算机名称是“笔记本电脑”)输入...笔记本电脑/SQLEXPRESS
  • 点击用户窗口 NT 集成安全/点击步骤 3 中的向下箭头。选择服务器上的数据库:它应该显示 Adventureworks 数据库。如果您愿意,请单击测试或只是确定。
于 2011-09-16T02:39:47.140 回答
0

一种解决方案(尽管这可能不适用于 SQL Express)是使用 Access Data Project,尽管在 2007 年,如何做到这一点并不是那么直观。

创建一个新的(空白)数据库,但不接受默认的 .accdb 扩展名,而是将其更改为 .adp。如果您使用浏览对话框设置文件位置,您还可以选择 Access Data Project (.adp) 格式。

创建后,系统会询问您是否要链接到 SQL DB……其余部分非常直观,但如果需要,请询问更多详细信息。

于 2009-03-11T16:32:11.480 回答
0

刚刚遇到了同样的问题,但发现一个链接建议在“数据链接属性”对话框中将服务器称为 .\SQLEXPRESS - 实例名称之前的 [.] 似乎产生了很大的不同。

这对我有用——我连接了,但随后访问抱怨版本组合——Access 2007 和 SQL 2008 不支持从 Access 管理数据库对象。

消息如下:

此版本的 Microsoft Access 不支持您的 Access 项目所连接的 Microsoft SQL Server 版本的设计更改。有关最新信息和下载,请参阅 Microsoft Office 更新网站。您的设计更改将不会被保存。

于 2011-03-26T00:36:22.860 回答