关于一台电脑如何链接另一台电脑上的数据库?
有两台电脑,一台电脑上没有装SQLSERVER2008数据库,但是我写了个链接数据库的程序,另一台服务器电脑上有SQLSERVER2008数据库,我想用我这台没有数据库的...
有两台电脑,一台电脑上没有装SQL SERVER2008数据库,但是我写了个链接数据库的程序,另一台服务器电脑上有SQL SERVER2008数据库,我想用我这台没有数据库的电脑去链接服务器电脑上的数据库,出现了问题。先声明:我已经把服务器电脑上的SQL 配置服务全部开启,防火墙也关了,链接代码如下:
Dim connectionstring As String
connectionstring = "Data Source=ninghao-PC;" & "Network Library=DBMSSOCN;Initial Catalog=tianchounh;User ID=saassword=sa123456;"
Dim databaseinfo As String = ""
Dim con As New SqlConnection(connectionstring)
con.Open()
databaseinfo = "Server Version:" & con.ServerVersion & vbCrLf
databaseinfo += "Connection Is:" & con.State.ToString & vbCrLf
con.Close()
databaseinfo &= "Now Connection Is:" & con.State.ToString
Label1.Text = databaseinfo
出现的问题下所示:
在建立与服务器的连接时出错。在连接到SQL SERVER2005时,在默认的设置下SQL SERVR 不运行进行远程连接可能会导致此失败。(provider:TCP 提供程序,error:0-由于连接方在一段时间后没有正确答复或连接的主机没有反应,连接尝试失败。) 展开
Dim connectionstring As String
connectionstring = "Data Source=ninghao-PC;" & "Network Library=DBMSSOCN;Initial Catalog=tianchounh;User ID=saassword=sa123456;"
Dim databaseinfo As String = ""
Dim con As New SqlConnection(connectionstring)
con.Open()
databaseinfo = "Server Version:" & con.ServerVersion & vbCrLf
databaseinfo += "Connection Is:" & con.State.ToString & vbCrLf
con.Close()
databaseinfo &= "Now Connection Is:" & con.State.ToString
Label1.Text = databaseinfo
出现的问题下所示:
在建立与服务器的连接时出错。在连接到SQL SERVER2005时,在默认的设置下SQL SERVR 不运行进行远程连接可能会导致此失败。(provider:TCP 提供程序,error:0-由于连接方在一段时间后没有正确答复或连接的主机没有反应,连接尝试失败。) 展开
6个回答
展开全部
在本机上设置odbc,然后用querry 连接即可:
设置odbc,通过注册表
procedure Tdataset_.Button1Click(Sender: TObject);
var reg:tregistry;
begin
reg:=tregistry.Create;
reg.RootKey:=HKEY_CURRENT_USER;
reg.CloseKey;
if reg.OpenKey('Software\ODBC\ODBC.INI\ODBC Data Sources',true) then
begin
reg.WriteString('databasename','SQL Server');
reg.CloseKey;
end
else
form1.showtext('您没有操作系统的管理员权限');
if reg.OpenKey('Software\ODBC\ODBC.INI\WLXT',true) then
begin
reg.WriteString('Database','WLXT');
reg.WriteString('Driver','C:\WINDOWS\System32\SQLSRV32.dll');
reg.WriteString('LastUser','sa');
reg.WriteString('Server','server name');
form1.showtext('完成!请点击测试进行测试!');
button2.SetFocus;
end
else
form1.showtext('您没有操作系统的管理员权限');
button2.Enabled:=true;
reg.Free;
end;
设置odbc,通过注册表
procedure Tdataset_.Button1Click(Sender: TObject);
var reg:tregistry;
begin
reg:=tregistry.Create;
reg.RootKey:=HKEY_CURRENT_USER;
reg.CloseKey;
if reg.OpenKey('Software\ODBC\ODBC.INI\ODBC Data Sources',true) then
begin
reg.WriteString('databasename','SQL Server');
reg.CloseKey;
end
else
form1.showtext('您没有操作系统的管理员权限');
if reg.OpenKey('Software\ODBC\ODBC.INI\WLXT',true) then
begin
reg.WriteString('Database','WLXT');
reg.WriteString('Driver','C:\WINDOWS\System32\SQLSRV32.dll');
reg.WriteString('LastUser','sa');
reg.WriteString('Server','server name');
form1.showtext('完成!请点击测试进行测试!');
button2.SetFocus;
end
else
form1.showtext('您没有操作系统的管理员权限');
button2.Enabled:=true;
reg.Free;
end;
展开全部
连接字符串格式类似这样:
server=192.168.1.2;database=mydb;user id=sa;pwd=123456;
如果怕服务器IP改变,可以把字符串中的IP改为计算机名,就不用担心IP的问题啦。
server=192.168.1.2;database=mydb;user id=sa;pwd=123456;
如果怕服务器IP改变,可以把字符串中的IP改为计算机名,就不用担心IP的问题啦。
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
先试试服务器能ping通吗
看看数据库服务器有没有开启
从新检查数据库是否允许远程连接
有没有打补丁包
看看数据库服务器有没有开启
从新检查数据库是否允许远程连接
有没有打补丁包
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
2011-09-07
展开全部
cfos
727
727
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
2011-09-07
展开全部
cb
768
768
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询