TFDConnection:

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

Specifies how the result set records must be fetched into FireDAC internal data storage.

Name Description
fmManual

The records are not fetched automatically by FireDAC. A programmer must write code to fetch records at appropriate times, using the following methods:

fmOnDemand The records are fetched automatically by FireDAC when they are required by the navigation or other dataset methods. At each request FireDAC fetches one or more record sets, containing RowsetSize records.

This mode allows to open large result sets without a significant delay, similarly to the fmAllmode. However, the total time of fetching all records is higher than in fmAll mode. For example, the server-side static cursor is used on Microsoft SQL Server.

fmAll All result set records are fetched automatically by FireDAC at the dataset Open call or at the first IADPhysCommand.Fetch call.

On a large result set it may take some time, but navigation through a dataset is fast because all records are stored in a FireDAC internal data storage. For many DBMSs, such as Microsoft SQL Server, MySQL Server, Sybase SQL Anywhere:

  • It releases client result set buffer and allows to execute the next command returning result sets.
  • It gives maximum fetch performance. For example, the fast forward-only cursor is used on Microsoft SQL Server.

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

Controls the dataset GUI feedback.

Use the SilentMode property to control whether the dataset shows the SQL-hourglass mouse cursor when the dataset performs potentially long running actions. The dataset will show the SQL-hourglass if it is set to False. Otherwise, it is set to True. By default, it is set to False. For TFDCustomMemTable, it is set to True.

Setting SilentMode to True allows you to speed up the dataset processing algorithms.

TFDQuery:

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

Controls the preparation of SQL statements.

Use the DirectExecute property to specify whether FireDAC should prepare an SQL statement before its execution (False) or execute it directly (True). The default value is False.

This property was introduced at first for MS SQL Server support. The prepared and the direct execution may have different effects, and even the prepared execution may fail. If you will get peculiar errors, then try to set DirectExecute to True.

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

Controls the automatic closing of a dataset cursor after fetching the last record.

Use the AutoClose property value to control the automatic closing of a dataset cursor.  If AutoCloseis set to True and the last record is fetched from the current result set, then the underlying cursor is closed, all additional result sets that have not been yet processed are discarded, and the resources associated with the cursors are released. The dataset (TFDDataSet descendant) itself is closed, but its internal command object is closed. This allows the release of DBMS resources associated with a cursor as fast as possible.

If your SQL command returns several result sets and you need to process all of them, then you must set AutoClose to False. Otherwise, after processing the first result set, all other result sets are discarded.

The default value is True.

 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

FireDAC 连接SQL Server一些要注意的地方(转)的更多相关文章

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

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

  2. firedac odbc sql server driver连接占线导致另一个hstmt

    firedac odbc sql server driver连接占线导致另一个hstmt 原因:FDQuery.FetchOptions.Mode=fmOnDemand.好像是为了性能问题,不设置则默 ...

  3. Unity3d连接SQL Server数据库出现SocketException: 使用了与请求的协议不兼容的地址错误

    这两天,同学问我Unity3d连接SQL Server的问题,当时我只是简单的说:“应该一样吧,就是那简单的几句啊”.之后他让我试了下,我才发现有问题了.故此写下一篇博客,要牢记这件事的教训,操作数据 ...

  4. vbs连接sql server及写文件操作

    此段代码是连接SQL SERVER的 代码内connMMSQL的参数要根据实际情况传入 Function connMMSQL(ip,user,pwd,database,strsql) Dim conn ...

  5. python 使用pymssql连接sql server数据库

    python 使用pymssql连接sql server数据库   #coding=utf-8 #!/usr/bin/env python#------------------------------ ...

  6. NetBeans连接SQL server数据库教程

    不废话,直接开始 1.下载sqljdbc.jar 可以从微软中国官方网站下载 SQLJDBC微软中国 笔者提供一个网盘链接Sqljdbc.jar 4个压缩包视版本选择,SQL 2012 用sqljdb ...

  7. JDBC连接SQL Server代码模板

    *                  JDBC连接SQL Server数据库 代码模板* Connection: 连接数据库并担任传送数据的任务:* Statement :  执行SQL语句:* Re ...

  8. 【转】PowerShell 连接SQL Server 数据库 - ADO.NET

    转至:http://www.pstips.net/connect-sql-database.html PowerShell 通过ADO.NET连接SQL Server数据库,并执行SQL脚本.工作中整 ...

  9. PHP5.6.15连接Sql Server 2008配置方案

    php5.6的如果想连接Sql Server 2008数据库,需要手动配置扩展和安装一个驱动. 下载SQL Server Driver for PHP的扩展包,64位系统的官方不支持,找到一个非官方的 ...

随机推荐

  1. Spring BOOT的学习笔记

    1,静态文件夹src/main/resources/static下的,图片必须放在images文件夹下才能访问,直接放在static下不能访问 2,配置热部署,否则修改下Html,图片都得重启 htt ...

  2. vue中直接修改props中的值并未给出警告,为啥?

    问:vue中直接修改props中的值并未给出警告,为啥? 答:如果props传入的值是引用类型,在子组件中改变其元素,不改变引用,那么不报错: 如果是基本类型,那么在修改时浏览器控制台会有报错信息. ...

  3. Redis 5.0.3集群部署

    参考文章 https://blog.csdn.net/yyTomson/article/details/85783753 https://www.cnblogs.com/zy-303/p/102731 ...

  4. Python学习:列表、元组、字典、集合

    转载:https://www.cnblogs.com/xc-718/p/9632942.html 列表/元组 列表和元组都是序列结构,它们本身很相似,但又有一点不同: 列表是用方括号标记,如:a=[1 ...

  5. ArcEngine 调用GP里面的Merge工具

    这两天,为ArcEngine中的Merge工具的调试伤头脑筋,明明很简单的事情,就是搞不掂儿.今天忽然想到是否是中文的关系,果然,把中文修改成英文成功了.真是快郁闷死了! public static ...

  6. ajax高级操作

    $('#ajax_submit').click(function () { $.ajax({ 'url':'/app_ajax', 'type':'post', 'data':$("#f1& ...

  7. 虚拟机中的linux系统文件突然全部变成只读的问题

    当宿主系统和虚拟机的IO都比较繁忙时,虚拟机的IO请求得不到及时的响应.虚拟机Linux不知道自己运行在虚拟机里面,会认为是磁盘IO错误,为了保护磁盘数据会remount分区为只读. 这时候如果只是对 ...

  8. JavaScript获取元素CSS计算后的样式

    原文链接https://www.w3ctech.com/topic/40 我们在开发过程中,有时候需要根据元素已有样式来实现一些效果,那我们应该如何通过JavaScript来获取一个元素计算后的样式值 ...

  9. 从9x9矩阵中抽取中间菱形区域打印 - perl

    起因: 源自于c的练习题,打印diamond,因为perl不需编译,方便调试,故先用perl实现一下 关键: 没有想到好的思路,只能借助于上一篇打印上下三角矩阵的方法,把菱形拆成上下左右4个三角矩阵区 ...

  10. Window 无法完成请求的更改,找不到引用的汇编,错误代码 0X80073701

    window 10专业版,通过“启用和关闭Window功能”进行安装IIS的部分功能的时候报错: Window 无法完成请求的更改,找不到引用的汇编,错误代码 0X80073701 备注以及尝试: ( ...