windows2003+delphi7+sqlserver2000 撰寫的程式, 在windows2003、windowsXP 下運行都很正常。最近安裝了windows7專業版、sqlserver2008 . 在windows7專業版下裝了delphi7 程式除錯都沒問題,但是運行卻出問題。就是連接sqlserver2008時用
sa 登錄 在使用 ADODataSet 控制元件時總是報sa 登錄失敗。怎么弄都不行。但用windows身份登錄卻可以。然后不運行程式,在界面上用ADODataSet、ADOConnection 能連接上。
問題 :在 windows7專業版、sqlserver2008 、delphi7 運行時用 sa 登錄時,ADODataSet 控制元件總是報 sa 登錄失敗。
用windows身份卻可以登錄,程式也能正常運行。在運行時使用sa 身份登錄 用 ADOQuery 卻可以登錄。用ADODataSet 怎么都不行,在編輯時ADODataSet 卻可以登錄。 不知道是什么原因,尋求高手予以解答,謝謝。
uj5u.com熱心網友回復:
此問題,比較復雜。我遇到過,通過系統與MSSQL的引數設定解決。可能與系統和MSSQL之間的(驅動)兼容有關。
建議使用一臺機器,重新安裝,并記下步驟和引數設定情況。
完成后,運行正常。
再按此步驟安裝其它機器。
uj5u.com熱心網友回復:
安裝.net補丁試uj5u.com熱心網友回復:
虛擬機測驗一下吧,最好不要用ghost版本的系統。uj5u.com熱心網友回復:
ADO字串,SQL 2008已不同了uj5u.com熱心網友回復:
ADO字串,SQL 2008已不同了。但它仍然向下兼容。
uj5u.com熱心網友回復:
SQL 2008 跟 2000, 包括之后的一些復雜點SQL陳述句, 都會有些細微的區別的.連接不上, 有沒有嘗試不用 SA 用其他用戶試過 ?
win7 的權限問題有時候會讓你不經意間就著道了.
uj5u.com熱心網友回復:
你最好把ADO套接字,曬出來。uj5u.com熱心網友回復:
安裝SQLNIC2008試試uj5u.com熱心網友回復:
windows7和win2008都可繼續安裝SQL2000的。一樣穩定不會有問題!具體安裝百度就有!很簡單就是運行X86\SETUP 下的SETUPSQL.EXE 然后SP4補丁一樣也是運行X86\SETUP 下的uj5u.com熱心網友回復:
謝謝各位:運行環境 windows7專業版、sqlserver2008 . 在windows7專業版下裝了delphi7
其他用戶也登錄不了,總是報 用戶 登錄失敗。
sa用戶登錄時用以下字串(這個用 ADODataSet 時,總是報 sa 登錄失敗。)
ConnectionString := 'Provider=SQLOLEDB.1;Persist Security Info=False;User
ID='+YhName+';Initial Catalog='+DBaseName+';Data
Source='+ServerName+';PassWord='+PassWord;
windows 身份登錄時用以下字串 (這個可以登錄,程式可以正常運行)
ConnectionString := 'Provider=SQLOLEDB.1;Persist Security Info=true;Initial
Catalog='+DBaseName+';Data Source='+ServerName+';Integrated Security=SSPI';
uj5u.com熱心網友回復:
請問你的ServerName,是否就是服務器名(計算機),具體名稱能列出來嗎?uj5u.com熱心網友回復:
問題解決了。跟蹤發現,在運行環境 windows7專業版、sqlserver2008 、 delphi7 的情況下, ADOConnection.ConnectionString
在連接后把 password=' 密碼' 這一句 丟了,在 windows2003、windowsXp 是不存在這個問題的。
當用 ADODataSet 打開資料表時,ADOConnection 要重新連接,此時,ADOConnection.ConnectionString字串已經
沒有 password=' 密碼' 這一句了,所以造成 sa 登錄失敗的錯誤。
我是這樣解決的:
在 ADOConnection 的 ADOConnectionBeforeConnect 事件中 給ADOConnection.ConnectionString 賦值。原來是在其它
地方給ADOConnection.ConnectionString 賦值的。 問題就這樣解決了,謝謝大家。
連接字串是 :
Provider=SQLOLEDB.1;Persist Security Info=False;User ID=sa;Initial Catalog=shops;Data Source=127.0.0.1;
PassWord=qqw123
uj5u.com熱心網友回復:
解決了,就好了。還把結果曬出來共享,贊一個。uj5u.com熱心網友回復:
樓主精神可嘉,~轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/84804.html
標籤:非技術區
上一篇:插入資料庫的方法
下一篇:DELPHI實作訊息推送:個推C語言的DLL如何在DELPHI7中呼叫,我想知道如何轉換,謝謝!以下是C的原形宣告。
