線上訂房服務-台灣趴趴狗聯合訂房中心
發文 回覆 瀏覽次數:679
推到 Plurk!
推到 Facebook!

BDE 使用 SQL Link 連到 SQL Server 2012 以後資料庫的問題

 
sryang
尊榮會員


發表:38
回覆:742
積分:876
註冊:2002-06-27

發送簡訊給我
#1 引用回覆 回覆 發表時間:2016-12-01 15:17:28 IP:59.127.xxx.xxx 未訂閱
大家好,

前幾天前同事遇到一個問題,是這樣子的:
BDE 應用程式使用 SQL Link 連 SQL Server 2012,在 TQuery 的 RequestLive 屬性是 True 時,一 Open 就發生錯誤
錯誤的內容是「select c.name, c.status, o.name from syscolumns c, sysobjects o where c.id = object_id ('dbo.TABLE1') and c.cdefault *= o.id order by colid ASC」這一條 SQL 有錯誤,而且翻遍了程式都找不到是誰下的語法。

這一條 SQL 是用來抓欄位結構用的,錯誤的原因是使用了老式的 join table 語法「*=」而這個語法已經不被 SQL Server 2012 支援了,到底是誰下的呢?我開始懷疑 SQL Link driver,使用 HEX editor 打開 sqlssc32.dll,一搜尋果然有發現!

兇手抓到了,就是 SQL Link driver!


所以,如果還使用 BDE 的話,請改用 ODBC 透過 SQL Server Native Client 吧,不要再用 SQL Link 了
給大家參考。
------
歡迎參訪 "腦殘賤貓的備忘錄" http://maolaoda.blogspot.com/
GrandRURU
站務副站長


發表:234
回覆:1654
積分:1752
註冊:2005-06-21

發送簡訊給我
#2 引用回覆 回覆 發表時間:2016-12-01 16:30:03 IP:59.120.xxx.xxx 未訂閱
長知識了!

謝謝分享!
系統時間:2017-11-24 2:39:15
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!