500分巨分贴,解决问题,立马放分。

cyf_delphi 2005-05-27 02:55:05

我做的一个程序,数据库连接代码为:// Profile hotel1
SQLCA.DBMS = "MSS Microsoft SQL Server 6.x"
SQLCA.Database = "hotel"
SQLCA.ServerName = "(local)"
SQLCA.LogId = "sa"
SQLCA.AutoCommit = False
SQLCA.DBParm = ""
假如我的电脑是A,现在A上运行正常!但放到电脑B上,就连不上数据库了!其中,A ,B 的电脑都装有数据库,和PB!
如果我把SQLCA.ServerName = "(local)"成为SQLCA.ServerName = "127.0.0.1"
时,在网络正常情况下,在B电脑运行能够连接上数据库。如果网线断开的话,数据库就连不上了。
真邪门了!请高手指教!!谢谢!!!!!
...全文
183 11 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
yjianp 2005-05-31
  • 打赏
  • 举报
回复
高手众多,学了好多招啊。^_^
gcg_cumt 2005-05-31
  • 打赏
  • 举报
回复
SQLCA.ServerName=lpc:local

无论是否加载tcp/ip协议,这个方法都有效。这个是通过共享内存方式连接的,与企业管理器是同样的方式。
zxjnew 2005-05-28
  • 打赏
  • 举报
回复

SQLCA.ServerName = . 这个有时候也好用 试试吧!!
吹雪风 2005-05-28
  • 打赏
  • 举报
回复
建一下DB PROFILE测试可以连通不?我已发短消息给你,查收..
princelily 2005-05-27
  • 打赏
  • 举报
回复
sqlserver2000作为DBMS的时候,如果是XP系统,那一般能安装的个人办,不能安装企业版本,在安装好sqlserver2000后,sqlserver自动建立一个实例名称(local),如果不是XP系统,那安装好sqlserver,会自动建立一个以本机名为名称的实例。所以在PB中连接数据库的时候,如果是第一种情况,连接本机的数据库,那么就可以通过SQLCA.ServerName = "(local)" 就可以连接了,当然你也可以采用IP地址来给SQLCA.ServerName 赋值,但是要注意,用127.0.0.1或者实际IP值都要注意网络连接,也就是如果安装的时候是连接着网线,连接想要成功也要连接好网络。拔掉网线会出现连接不成功的提示的。
yjianp 2005-05-27
  • 打赏
  • 举报
回复
如果B机的sql有实例名的话,光用local也是连接不上的,需要加上实例名。你自己好好检查一下B机的sqlserver。
yjianp 2005-05-27
  • 打赏
  • 举报
回复
如果b机上确实有hotel数据库,用local应该不会连接不上,如果连接不上,应该是b机的sql有问题,重装一下sql试试。
2.你的系统肯定是2000了。2000在网线断开的情况下,是没有加载tcp/ip协议的,所以它也就没有ip地址。你从cmd里ping 127.0.0.1就知道了,它显示的是电缆没有连接。
cyou2005 2005-05-27
  • 打赏
  • 举报
回复
你在本B机上有“hotel“的数据库吗?你的B机是什么系统呀,是不是SqlServer有实例呀
balloonman2002 2005-05-27
  • 打赏
  • 举报
回复
把SQLCA.ServerName设成本机机器名即可
lzheng2001 2005-05-27
  • 打赏
  • 举报
回复
1.SQLCA.ServerName = 实例名(机器名)

2.修改机器IP地址,然后用这个IP地址连接

SQLCA.ServerName = IP地址
j9dai 2005-05-27
  • 打赏
  • 举报
回复
在B电脑上执行时你没把数据库文件拷过去吧
你的ServerName = "(local)"即本地,在B机器上没有这个数据库当然连不上了,在ServerName里填上A的IP吧

754

社区成员

发帖
与我相关
我的任务
社区描述
PowerBuilder 数据库相关
社区管理员
  • 数据库相关社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧