2012-08-15 54 views
2

假设在SQL Server中有几个表。我的客户在他们自己的服务器上使用Access 2003数据库。 SQL Server 2008 R2在diff服务器上。他们的Access前端用VBA编写。我知道我可以让他们使用ADO和OLEDB提供程序连接到我的SQL服务器。为此,他们将不得不增加从将Access应用程序连接到不同服务器上的SQL服务器的可能方法?

Tools-->References--> MS ActiveX objects 6.0 Library 

并与所提供的连接字符串的引用:

Provider= SQLOLEDB.1; Integrated Security = SSPI; Initial catalog=DatabaseName; Data source =ServerNamethathostsSQLSeerver 

是否有任何其他的方式来让他们连接到SQL Server? 在性能方面有什么更好的方法可以做到这一点?

请分享您的观点。谢谢。

+0

你可以使用ODBC太多,但OLEDB是一个更好的解决方案。 – Simon 2012-08-15 15:54:31

+1

@simon OleDB即将发布[Microsoft SQL Server,代号为“Denali”,将成为支持OLE DB的最新版本,ODBC是新的新事物](http://blogs.lessthandot.com/index.php/DataMgmt/DBProgramming/MSSQLServer/microsoft-sql-server-codename-denali) – Fionnuala 2012-08-15 15:57:37

+0

正如此处所述 - 开放式数据库连接是首选。所以,不,oleDB不是一个更好的解决方案,或者甚至是更好的选择(这样的建议是那些在这个行业中出现的那些可能会说出来的神话之一)。实际上,我们不能使用SQL Azure的oleDB,但推荐的开放式数据库连接选择工作得很好。 – 2012-08-15 19:36:26

回答

2

在MS Access 2007中,推荐的方法是链接表,不需要引用,它可以通过代码或菜单完成。 Microsoft Access 2003还支持链接表。

更多信息:http://office.microsoft.com/en-us/access-help/import-or-link-access-to-sql-server-data-HA010341762.aspx

+0

感谢您输入Remou。但客户端不希望链接表格的方式。我们的团队只会托管他们的后端表。他们将需要一些机制来连接让他们的前端VBA应用程序与驻留在diff服务器上的SQL服务器数据库交谈,而不是他们的Access数据库。任何想法,建议,文章等将有所帮助。 TIA。 – Nemo 2012-08-16 14:51:23