一個delphi程式,別人做的,連接的sql server 2005,不在一臺電腦上,之前是好的,可以正常連接。今天裝了另外的一個軟體,這個delphi就連接不上資料庫了,一直鏈接失敗。網路沒問題,默認的1433埠也沒問題,odbc連接也正常。
uj5u.com熱心網友回復:
報的什么錯誤?uj5u.com熱心網友回復:
鏈接資料庫失敗
uj5u.com熱心網友回復:
這個問題多了,有可能是防火墻、服務器端和客戶端配置有問題、IP地址。。。uj5u.com熱心網友回復:
這個問題比較奇怪,這個delphi軟體安裝在好幾臺電腦的,就是安裝我們軟體的這個電腦訪問不了,其他的都可以正常使用。所以懷疑是安裝我們軟體后,某些動態dll被替換造成的,就是不知道是哪個動態庫uj5u.com熱心網友回復:
資料庫ip地址變了,或者埠變了uj5u.com熱心網友回復:
其他客戶端軟體是可以正常使用的,網路里面安裝了幾臺電腦,就是安裝我們軟體的這兩臺不行
uj5u.com熱心網友回復:
檢查一下,IP的配置。關閉防火墻。另外,服務器、客戶端的配置需要檢查。
uj5u.com熱心網友回復:
不知道樓上是不是看清了了我的問題,其他電腦都可以連接,唯獨這臺不能連接,設定odbc可以連接,按裝sql server 2005 express可以訪問服務器端資料庫,網路,埠,ip都沒問題,應該就是出在這臺機器的配置上,就是不知道具體在哪
uj5u.com熱心網友回復:
估計是這個軟體把埠占了(如果是用DATASNAP)開發的,查查。。。
uj5u.com熱心網友回復:
Function InitMSSQLServerRegData(Server : String) : Boolean;
Const
MSSQLPath = 'SOFTWARE\Microsoft\MSSQLServer\Client\SuperSocketNetLib\';
ConntoPath = 'SOFTWARE\Microsoft\MSSQLServer\Client\ConnectTo';
var
reg : TRegistry;
begin
Result := False;
reg := TRegistry.Create;
Reg.RootKey := HKEY_LOCAL_MACHINE;
with reg do begin
try
if OpenKey(ConnToPath,True) then Writestring(Server,'DBMSSOCN,'+Server+',1433');
CloseKey;
if OpenKey(MSSQLPath+'Np',True) then
CloseKey;
if OpenKey(MSSQLPath+'Tcp',True) then Writeinteger('DefaultPort',1433);
CloseKey;
Result := True;
except
end;
end;
Reg.CloseKey;
Reg.Free;
end;
用這個函式初始化一下服務器,IP 地址也行 ,重啟一下PC即可
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/61685.html
標籤:數據庫相關
