FDQuery连接数据库,使用提示占线错误,如何用 FD 连接 MSSQL
用的是Xe8.,连接SQL数据库2008提示这个错误,2000的版本不会
FireDAC 支持 MSSql 2000 的问题,例如 不支持或连接占线或hstmt
http://www.2pascal.com/forum.php?mod=viewthread&tid=2734&fromuid=4
(出处: 2Pascal-新时代的Pascal)
FDConnectionMsSql.Close;
FDConnectionMsSql.LoginPrompt := False;
FDConnectionMsSql.Params.Values['Server'] := ServerName;
FDConnectionMsSql.Params.Values['User_Name'] := UserName;
FDConnectionMsSql.Params.Values['Password'] := PWD;
FDConnectionMsSql.Params.Values['Database'] := DatabaseName;
FDConnectionMsSql.Params.Values['OSAuthent'] := 'No';
//使用特定的 Driver 才能获取 ODBCDriver 的值。
FDConnectionMsSql.Params.Values['DriverID'] := 'MSSQLMain';
FDConnectionMsSql.Open;
TempStr := TFDPhysODBCDriverBase(FDPhysMSSQLDriverLinkMain.DriverIntf).ODBCDriver;
if TempStr.Contains('SQL Server Native Client') then
begin
FDMSSQLFechModeUseAll := False;
end;
if FDMSSQLFechModeUseAll then
begin
//ODBCDriver := 'SQL Server' 不支持 (连接到控件上的)FetchOptions.Mode := TFDFetchMode.fmOnDemand;
FDQueryMSSQLIN.FetchOptions.Mode := TFDFetchMode.fmAll;
end
else
begin
FDQueryMSSQLIN.FetchOptions.Mode := TFDFetchMode.fmOnDemand;
end; 关键是 要 放一个 FDPhysMSSQLDriverLink
这个控件的 DriverID 设置成自定义的。
ODBCDriver 不要填值。
上面的代码,主要是解决楼主的问题。
前几行是 连接 MSSQL 的基本代码。
前几天才上FD的车,结果今天就遇到了问题,记得在哪里看到过,果然在这,谢谢wang_80919
页:
[1]