Delphi FireDAC 连接SQL Server一些要注意的地方

TFDConnection:

FetchOptions.Mode 设置为fmAll, 返回全部结果, 否则默认只返回前50条, 效果与open以后再执行FetchAll一样

ResourceOptions.SilentMode 设置为True, 就不需要FDGUIxWaitCursor之类的东西了, 同样也不再会自动改变鼠标样式, 默认是需要的

TFDQuery:

ResourceOptions.DirectExecute 设置为True, 直接执行SQL, 默认是False, 在某些数据库(比如Postgre) 如果设置为False那么在执行多条SQL的时候会报错....

FetchOptions.AutoClose := False; 不要自动关闭连接...这个如果不设置的话, 多结果集返回的时候会出问题....

FDPhysMSSQLDriverLink:

ODBCDriver 连接SQL Server的驱动, 如果系统里有多个版本的SQL Server, 默认会使用最高版本的那个

ODBCDriver := FindBestDriver([C_2012_NC, C_2012_ODBC, C_2008, C_2005, C_2000])

但是, 如果你要使用的数据库是2000, 而机器里有更高版本的数据库, 那么使用Native连接2000的时候就会出现各种奇怪的问题(比如无法同时edit2个超过1024k的二进制字段等)

所以如果有可能, 最好在创建连接的时候指定ODBCDriver