Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/sql-server-2008/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/ms-access/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql server 2008 将Access应用程序连接到不同服务器中的SQL server的可能方法?_Sql Server 2008_Ms Access_Vba - Fatal编程技术网

Sql server 2008 将Access应用程序连接到不同服务器中的SQL server的可能方法?

Sql server 2008 将Access应用程序连接到不同服务器中的SQL server的可能方法?,sql-server-2008,ms-access,vba,Sql Server 2008,Ms Access,Vba,假设SQL Server中有几个表。我的客户机在自己的服务器上使用Access 2003数据库。SQL Server 2008 R2位于diff Server上。他们的访问前端是用VBA编写的。我知道我可以让他们使用ADO和OLEDB提供程序连接到我的SQL server。为此,他们必须添加来自的引用 Tools-->References--> MS ActiveX objects 6.0 Library 并使用提供的连接字符串: Provider= SQLOLEDB.1; Int

假设SQL Server中有几个表。我的客户机在自己的服务器上使用Access 2003数据库。SQL Server 2008 R2位于diff Server上。他们的访问前端是用VBA编写的。我知道我可以让他们使用ADO和OLEDB提供程序连接到我的SQL server。为此,他们必须添加来自的引用

Tools-->References--> MS ActiveX objects 6.0 Library
并使用提供的连接字符串:

Provider= SQLOLEDB.1; Integrated Security = SSPI; Initial catalog=DatabaseName; Data source =ServerNamethathostsSQLSeerver
是否有其他方法让他们连接到SQL Server? 在性能方面有哪些更好的方法


请分享你的意见。谢谢。

在MS Access 2007及更高版本中,推荐的方式是链接表,无需参考,可以通过代码或菜单完成。Microsoft Access 2003还支持链接表


更多信息:

您也可以使用ODBC,但OLEDB是一个更好的解决方案。@simon OLEDB正在按照此处的建议退出–开放数据库连接是首选。因此,不,oleDB并不是一个更好的解决方案,甚至不是一个更好的选择(这样的建议是这个行业的人所产生的神话之一,可以说,这些神话是脱离循环的)。事实上,我们不能将oleDB用于SQL Azure,但推荐的开放数据库连接选择效果很好。注意,OP使用的是2008r2,而且oleDB将在很长一段时间内存在。微软转向ODBC是由Azure和他们远离专有技术的战略推动的。这并不一定使OLEDB成为今天的一个坏选择。感谢大家的投入。我试图理解、学习和测试我在帖子中介绍的案例的一些可能场景。OLEDB、ODBC都很好。有没有办法在C#中创建一个web服务,然后让Access VBA前端与web服务对话,以访问SQL server并执行读取/选择*操作?有可能吗?请让我知道这种方法的优点和缺点。TIA.谢谢你的意见。但是客户端不希望以这种方式使用链接表。我们的团队将只托管他们的后端表。他们将需要一些机制来连接,让他们的前端VBA应用程序与驻留在diff server中的SQL server db对话,而不是与Access db对话。任何想法、建议、文章等都会有所帮助。蒂亚。