日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > 数据库 >内容正文

数据库

Delphi东京版FireDAC连接MSSQL2000提示对象名 'SYS.DATABASES' 无效

發布時間:2025/4/16 数据库 27 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Delphi东京版FireDAC连接MSSQL2000提示对象名 'SYS.DATABASES' 无效 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

在Delphi 10.2.1 東京 版中,FireDAC默認不兼容MSSQL2000,會提示“[FireDAC][Phys][ODBC][Microsoft][ODBC SQL Server Driver][SQL Server]對象名 'SYS.DATABASES' 無效。”的錯誤,對此需要修改FireDAC.Phys.MSSQL.pas單元進行修復:

首先從delphi目錄下把FireDAC.Phys.MSSQL.pas文件復制出來,然后打開它,注釋掉?{$I FireDAC.inc},然后查找到“procedure TFDPhysMSSQLConnection.InternalSetMeta;”,再找到“sCompatLvl := '(SELECT COMPATIBILITY_LEVEL FROM SYS.DATABASES WHERE LOWER(NAME) = ' +AnsiLowerCase(sCurCatalog) + ')';”,將其修改為:

1 2 3 4 5 if oConnMeta.ServerVersion >= svMSSQL2008 then ???sCompatLvl := '(SELECT compatibility_level FROM sys.databases WHERE name = ' ???+ AnsiLowerCase(sCurCatalog) + ')' else // MSSQL2005、MSSQL2000沒有sys.databases表 ???sCompatLvl := IntToStr(oConnMeta.ServerVersion div 10000000);

經過以上步驟,就完成FireDAC兼容MSSQL2000的修改了。

這是網上抄的,但還有一些細節工作要做的。

1.將你的Delphi安裝目錄下的?FireDAC.Phys.MSSQL.dcu文件刪除,記錄一下FireDAC.Phys.MSSQL.dcu的路徑。

2.這時候再編譯會提示找不到FireDAC.Phys.MSSQL.pas文件,將這個文件復制到你的程序的目錄入,編譯生成FireDAC.Phys.MSSQL.dcu

3.將生成的FireDAC.Phys.MSSQL.dcu文件復制到原先的目錄里。這樣以后就不需要每一個工程都放一份FireDAC.Phys.MSSQL.pas文件

轉載于:https://www.cnblogs.com/wuxi15/p/7956018.html

總結

以上是生活随笔為你收集整理的Delphi东京版FireDAC连接MSSQL2000提示对象名 'SYS.DATABASES' 无效的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。