注册 登录
编程论坛 VFP论坛

请教cs程序为什么不能连接SQL Server?

wxzd123 发布于 2023-03-31 12:29, 1900 次点击
服务器端正常,其他机器都能连接,有一台机器却不能连接,请问各位老师应该从哪里找问题?谢谢
Sqlstringconnect([Driver={SQL Server};Server=192.168.180.110;UID=sa;PWD=rsk123hlx;Database=zsgl])
18 回复
#2
wxzd1232023-03-31 12:30
就是以管理员运行也不行
#3
阳光上的桥2023-03-31 12:48
是不是防火墙问题?或者网络是否连通?报错信息里面应该有表示。
#4
wxzd1232023-03-31 12:58
您好,防火墙关,ip 能ping通
#5
吹水佬2023-03-31 13:35
是不是有些相关的系统服务未开启
#6
wxzd1232023-03-31 14:07
版主您好,那台机器原来好用,后来他们说系统慢,就还原了,现在就不好用了,请问应该开启那些服务,不是服务器是客户机
#7
csyx2023-03-31 14:59
先把连接失败的错误信息列出来看看是什么
If Sqlstringconnect(。。。) < 0
    AError(aaa)
    cc = ''
    For ii = 1 to 7
        cc = cc + Transform(aaa[ii]) + 0h0d0a
    EndFor
    MessageBox(cc)
EndIf
#8
laowan0012023-03-31 15:01
参照一台正常能用的机器,对比设置的差异
#9
kangss2023-03-31 17:09
以下是引用wxzd123在2023-3-31 12:29:42的发言:

服务器端正常,其他机器都能连接,有一台机器却不能连接,请问各位老师应该从哪里找问题?谢谢
Sqlstringconnect([Driver={SQL Server};Server=192.168.180.110;UID=sa;PWD=rsk123hlx;Database=zsgl])


改成这样应该能好,试试:
Sqlstringconnect([Driver={SQL Server};Server=192.168.180.110;UID=sa;PWD=rsk123hlx;Database=zsgl;Network=DBMSSOCN;Address=192.168.180.110,1433]
#10
my23182023-03-31 23:05
用odbc连接试一下,看看什么问题
#11
mywisdom882023-03-31 23:29
改为这样
cServer = "192.168.180.110,1433"
cUid = "sa"
cPwd = "rsk123hlx"
cDbs = "zsgl"
cSql=[driver=sql server;server=]+cServer+[;uid=]+cUid+[;pwd=]+cPwd+[;database=]+cDbs
nHandle=sqlstringconnect(cSsql)
如果不行,不要用IP,改为名称
cServer = "你电脑上安装数据库的名称"
cUid = "sa"
cPwd = "rsk123hlx"
cDbs = "zsgl"
cSql=[driver=sql server;server=]+cServer+[;uid=]+cUid+[;pwd=]+cPwd+[;database=]+cDbs
nHandle=sqlstringconnect(cSsql)
如果还不行,就在本机上测试
#12
mywisdom882023-03-31 23:33
以上的方法,95%都可以调试
#13
wxzd1232023-04-01 06:43
感谢各位老师给的好方法,等上班了去测试,希望各位老师能够更多方法建议,争取一次成功
#14
倦猫19732023-04-01 08:40
以下是引用mywisdom88在2023-3-31 23:29:16的发言:

改为这样
cServer = "192.168.180.110,1433"
cUid = "sa"
cPwd = "rsk123hlx"
cDbs = "zsgl"
cSql=[driver=sql server;server=]+cServer+[;uid=]+cUid+[;pwd=]+cPwd+[;database=]+cDbs
nHandle=sqlstringconnect(cSsql)
如果不行,不要用IP,改为名称
cServer = "你电脑上安装数据库的名称"
cUid = "sa"
cPwd = "rsk123hlx"
cDbs = "zsgl"
cSql=[driver=sql server;server=]+cServer+[;uid=]+cUid+[;pwd=]+cPwd+[;database=]+cDbs
nHandle=sqlstringconnect(cSsql)
如果还不行,就在本机上测试


我有不同观点,探讨一下。
本来程序只需要加密一个字符串连接前解密即可。如果象你这样连接时拼串,则需要加/解密四个字符串,是否有点啰嗦?
#15
wxzd1232023-04-01 13:15
欢迎大侠出手
#16
mywisdom882023-04-01 22:02
以下是引用倦猫1973在2023-4-1 08:40:38的发言:



我有不同观点,探讨一下。
本来程序只需要加密一个字符串连接前解密即可。如果象你这样连接时拼串,则需要加/解密四个字符串,是否有点啰嗦?

这样做的好处的,参数动态话。
cServer = "192.168.180.110,1433"
cUid = "sa"
cPwd = "rsk123hlx"
cDbs = "zsgl"
cSql=[driver=sql server;server=]+cServer+[;uid=]+cUid+[;pwd=]+cPwd+[;database=]+cDbs
nHandle=sqlstringconnect(cSsql)
可以动态改变上面4个参数,实现程序不变,随便连接任意SQL SERVER
实际就是
messagebox(cSql)
看到的就是下面的字符串
driver=sql server;server=192.168.180.110,1433;uid=sa;pwd=rsk123hl;database=zsgl


[此贴子已经被作者于2023-4-1 22:08编辑过]

#17
wxzd1232023-04-02 06:43
除了各位老师说的,客户端网络服务等还需要那些配置,谢谢
#18
吹水佬2023-04-02 08:24
官方的技术文档看看有无帮助
https://learn.
https://learn.
#19
xuminxz2023-04-02 10:13
回复 楼主 wxzd123
大概率是客户机的1433端口关闭了。
1