以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- [求助] (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=94218) |
-- 作者:zswushi -- 发布时间:2016/12/19 10:44:00 -- [求助] 老师们好! 我想在 项目文件夹 做个类似 INI 配置文件,然后在 BeforeConnectOuterDataSource 事件中,读取它的参数,来连接外部数据源 ,配置文件 类似 [ConDB_] SERVER_NAME=a00 DB_NAME=wushi USERID=sa PW=1213456 这样 , server _ name 对应于 data source ; db_name 对应于 :Initial Catalog ; userid 对应于 User ID; PW对应 password ; 若有密码是:链接字符串开始为:Provider=SQLOLEDB;Password = “****** ”,Persist Security Info=True;; 若没有密码时: 链接字符串开始为:Provider=SQLOLEDB.1,Persist Security Info=false; 打开项目文件时 ,若 连接成功,直接进入登录界面,若登录不成功,提示 ,“创建外部连接失败........”,点确定后 ,能弹出 设置数据源链接的窗口 ,待输入正确的服务器名,数据库名时 ,能连接数据源进入系统,否则,还是弹出设置界面的对话框 该怎样 写这些代码?谢谢!我已浏览过 许多 关于 这类文件的 帮助文件,但总是无从下手,谢谢高手赐教!!! |
-- 作者:wyz20130512 -- 发布时间:2016/12/19 11:21:00 -- http://www.foxtable.com/webhelp/scr/1944.htm |
-- 作者:zswushi -- 发布时间:2016/12/19 11:47:00 -- 大概知道了思路,但还是没有相关的例子代码呀,若有类似的例子代码更好!! 多谢赐教 !!! |
-- 作者:有点色 -- 发布时间:2016/12/19 12:20:00 -- 如果需要读取ini的内容,可以参考
http://www.foxtable.com/bbs/dispbbs.asp?BoardID=2&ID=40490&skin=0
|
-- 作者:9602084 -- 发布时间:2016/12/19 16:15:00 -- 1.生成加密的配置文件 Dim iport As String =
e.Form.Controls("TxtIP").text & ":" &
e.Form.Controls("Txtport").text & ":" &
e.Form.Controls("Txtinterval").text & ":" &
e.Form.Controls("Txttimeout").text Dim contxt1 As String =
e.Form.Controls("TextBox2").text Dim contxt2 As String =
e.Form.Controls("TextBox1").text FileSys.WriteAllText( projectpath
& "/config/config" & Format(Date.now,"yyyyMMdd")
& ".txt",EncryptText(iport & vbcrlf & contxt1 &
vbcrlf & contxt2,"****","****"), False) 2.读取配置文件 BeforeConnectOuterDataSource
\'\'\' If e.name = "rsgl" Then Dim CnString As String If filesys.FileExists(ApplicationPath &
"config.txt") Dim contxt() As String =
DecryptText(filesys.ReadAllText(ApplicationPath &
"config.txt"),"*****","*****").split(vbcrlf) If contxt.Length > 1 Then CnString = contxt(1) Else MessageBox.show("系统配置文件错误,请联系管理员。","警告",MessageBoxButtons.OK,MessageBoxIcon.Warning) Syscmd.Project.Exit() Return End If If Connections.TryConnect(CnString) =
True Then e.ConnectionString = CnString Else messagebox.show("无法连接到数据库,请联系管理员。","警告",MessageBoxButtons.OK,MessageBoxIcon.Warning) Syscmd.Project.Exit() Return End If Else messagebox.show("没有找到系统配置文件,无法连接到数据,请联系管理员。","提示",MessageBoxButtons.OK,MessageBoxIcon.Information) Syscmd.Project.Exit() Return End If
End If |
-- 作者:zswushi -- 发布时间:2016/12/19 18:50:00 -- 我消化下,谢谢 !那个加密的配置文件,我可以自己不加密呀,就不需要之前的那一段吗?? |
-- 作者:有点蓝 -- 发布时间:2016/12/19 20:15:00 -- 那就直接写文本 FileSys.WriteAllText( projectpath & "/config/config" & Format(Date.now,"yyyyMMdd") & ".txt",iport, False)
|
-- 作者:zswushi -- 发布时间:2016/12/20 10:04:00 -- 我的总体思路是 :1、在项目文件夹 自己用记事本文件 (改变类型) 做个config. ini 的 配置文件(不用加密,解密的功能);例如: [ConDB_] 服务器名 =A00 数据库名=wushi 登录用户=sa 登录密码=123456 连接时间 = 20 \'连接时间限定,假定用 20 秒 来做单位 2、在 BeforeConnectOuterDataSource 事件中 ,读取 config 文件的值;然后填写到 字符串: Provider=SQLOLEDB;Password=87686269;Persist Security Info=True;User ID=sa;Initial Catalog=X0;Data Source=a00 中, 让该字符串的值,跟 config 的值一样; 3、测试更改后的 字符串是否能连接通,若能联通,就正常进入系统; 若不能联通,就提示出错(最好限定“time ”时间,比如 20秒),弹出 “config”对话框,修改参数后,若参数值 正确 方可进入系统,否则一直提示,参数 设置错误;除非是 关掉 项目; 4、恳请老师们,最好能把完整代码 写下来,我自己再去变通,本人不胜感激!! [此贴子已经被作者于2016/12/20 11:16:11编辑过]
|
-- 作者:有点色 -- 发布时间:2016/12/20 10:07:00 -- 自食其力
http://www.foxtable.com/webhelp/scr/0682.htm
|
-- 作者:zswushi -- 发布时间:2016/12/20 10:10:00 -- data source 可以改成中文 :服务器名; Initial Catalog 可以改成 数据库名: USER ID 可以改成: 登录账户; Password 可以改成: 登录密码 time : 可以改成 连接时间 不胜感激!!! |