以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  数据库连接不成功暴露出SQL账户和密码  (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=111048)

--  作者:wangmin2659
--  发布时间:2017/12/14 12:00:00
--  数据库连接不成功暴露出SQL账户和密码

此主题相关图片如下:uc截图20171214113316.png
按此在新窗口浏览图片

数据库连接不成功的话,就会爆出这样提示,对于用户,这样的提示是非常不安全的

请问高级版发布程序后,也会弹出这样的提示吗?

还是需要在程序加载的时候,判断数据库连接是否成功?

我在项目属性 BeforeConnectOuterDataSource 中添加以下代码



Dim s As String = "Provider=SQLOLEDB.1;Password=AA123456;Persist Security Info=True;User ID=sa;Initial Catalog=UFSystem;Data Source=WMERP"
If Connections.TryConnect(s) = False Then
MessageBox.Show("数据源无法连通!请检查数据库或者网络,再打开本程序")
Syscmd.Project.Exit()   \'请问这里是否使用正确?
Else
Connections.Add("test",s) 
End If



我通过
Return Connections.Contains("test")
时发现,"test"这个数据源是不存在的,是哪里有错误吗?
[此贴子已经被作者于2017/12/14 12:00:14编辑过]

--  作者:有点甜
--  发布时间:2017/12/14 12:25:00
--  

BeforeConnectOuterDataSource 的代码不是这样写的,你要这样写

 

Dim s As String = "Provider=SQLOLEDB.1;Password=AA123456;Persist Security Info=True;User ID=sa;Initial Catalog=UFSystem;Data Source=WMERP"
If Connections.TryConnect(s) = False Then
    MessageBox.Show("数据源无法连通!请检查数据库或者网络,再打开本程序")
    Syscmd.Project.Exit()  
Else

    e.ConnectionString = s

End If
 
再有就是,发布后的项目,只有开发者、管理员可以设置数据源,其它用户看不到数据源提示的。