Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/cassandra/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
Sql server MS对SQL数据流和性能的访问_Sql Server_Database_Ms Access_Database Connection - Fatal编程技术网

Sql server MS对SQL数据流和性能的访问

Sql server MS对SQL数据流和性能的访问,sql-server,database,ms-access,database-connection,Sql Server,Database,Ms Access,Database Connection,我在这里寻找一些启示,谁能告诉我,当您使用MS Access查询MS SQL Server上通过ODBC链接的表时,实际会发生什么情况?我的意思是以常规链接样式,而不是访问ADP ODBC驱动程序是否以某种方式从Access获取查询并执行转换,然后让MSSQL完成繁重的工作,还是ODBC只是简化了数据交换,然后Access工作,然后数据返回 我相信情况确实如此,尽管我似乎永远也找不到确切的答案。这与在Access中使用ADO发送命令之类的东西形成了对比,它只发送/执行必要的任务,而不需要拉下所有

我在这里寻找一些启示,谁能告诉我,当您使用MS Access查询MS SQL Server上通过ODBC链接的表时,实际会发生什么情况?我的意思是以常规链接样式,而不是访问ADP

ODBC驱动程序是否以某种方式从Access获取查询并执行转换,然后让MSSQL完成繁重的工作,还是ODBC只是简化了数据交换,然后Access工作,然后数据返回

我相信情况确实如此,尽管我似乎永远也找不到确切的答案。这与在Access中使用ADO发送命令之类的东西形成了对比,它只发送/执行必要的任务,而不需要拉下所有记录


在这一点上,我可能已经深陷其中。

ODBC驱动程序知道如何在Access和SQL Server SQL方言和数据类型之间进行转换

因此,是的,它可以让服务器完成繁重的工作。但您的查询也必须正确编写,以允许这种情况发生


一种类型的问题是查询具有仅访问的函数,该函数的WHERE子句中没有TSQL等价物。在这种情况下,Access必须从服务器上下拉每一行,以便评估函数的结果。

因此,假设您正在查询某个日期的记录。Access查询设计器接受其中mydatefield=12/1/2012,而T-SQL需要类似mydatefield='12/1/2012'的内容。此外,我假设必须链接到本地访问表的任何内容都需要下拉所有记录以进行评估,即使使用ODBC SQL数据集的条件?使用日期文本的访问约定编写访问查询2012年1月12日。驱动程序将其转换为服务器方言的ODBC请求。作为一种简单而夸张的说法。。。作为开发人员,您不需要了解t-SQL如何处理日期。作为补充,我更喜欢yyyy-mm-dd格式的日期文字,以限制在mm-dd-yyyy与dd-mm-yyyy之间产生混淆的可能性。我认为您的观点是正确的,将本地访问表与服务器表连接可能会强制访问下拉所有服务器候选行。