解析ZCSJEnity的函数
来源:互联网 发布:wto国际贸易统计数据库 编辑:程序博客网 时间:2024/06/12 16:37
IBuild平台中解析ZCSJEnity的connect加密字符串变成oracle连接字符串的函数
//解析ZCSJ的connect字符串 private string analisysConStr(string uncodeStr) { string outputstr = ""; string user = ""; string password = ""; string server = ""; string database = ""; string port = ""; //字符串示例 //{ // SERVER =; INSTANCE = sde:oracle$orcl; DATABASE =; USER = sde; PASSWORD = sde; AUTHENTICATION = DBMS; VERSION = SDE.DEFAULT; // SERVER=;INSTANCE=sde:oracle$10.0.0.7/TDHZ2009;DATABASE=;USER=sde2016;PASSWORD=sde2016;AUTHENTICATION=DBMS;VERSION=SDE.DEFAULT; //} // if (string.IsNullOrEmpty(uncodeStr)) return outputstr; uncodeStr = SouthGIS.DB.Utility.EncryptUtil.DecryptString(uncodeStr).Trim(); List<string> strList = uncodeStr.Split(';').ToList(); foreach (string str in strList) { if (str.Contains("SERVER=")) { if (str.Length > 7) server = str.Substring(7); continue; } else if (str.Contains("DATABASE=")) { if (str.Length > 9) database = str.Substring(9); continue; } else if (str.Contains("INSTANCE=")) { if (str.Length > 9) { string temp = ""; temp = str.Split('$')[1]; if (temp.Contains('/')) { server = temp.Split('/')[0]; database = temp.Split('/')[1]; } else { server = ""; database = temp; } } continue; } else if (str.Contains("USER=")) { if (str.Length > 5) user = str.Substring(5); continue; } else if (str.Contains("PASSWORD=")) { if (str.Length > 9) password = str.Substring(9); continue; } } //解析服务器端口 if (server.Contains(":")) { string tStr = server.Split(':')[0]; port = server.Split(':')[1]; server = tStr; } server = server == "" ? "localhost" : server; port = port == "" ? "1521" : port; outputstr = $@"Password={password};User ID={ user };Data Source=(DESCRIPTION=(ADDRESS_LIST=(ADDRESS=(PROTOCOL=TCP)(HOST={server})(PORT={ port })))(CONNECT_DATA = (SERVICE_NAME = {database})))"; return outputstr; }
阅读全文
0 0
- 解析ZCSJEnity的函数
- 函数指针的解析
- 虚函数的解析
- Redis的函数---解析
- fork函数的解析
- subsub函数的精练解析
- 复杂的函数指针解析
- time函数的详细解析
- vector的成员函数解析
- deque成员函数的解析
- ucosII OSMemCreate()函数的解析
- Java的main函数解析
- 解析命令行的getopt_long()函数
- linux fork()函数的解析
- inline 函数的深入解析
- vector的成员函数解析
- snprintf函数的用法解析
- java 构造函数的解析
- WordPress 使用 Email Subscribers & Newsletters 添加邮件订阅功能
- inline用法详解
- wpf中一个ProcessBar的实现
- 数据处理:如何处理缺失数据(missing value)? 各种处理方法有什么利弊?
- 使用Maven搭建Struts2+Spring3+Hibernate4的整合开发环境
- 解析ZCSJEnity的函数
- android获取各种系统路径的方法
- WINDOWS API ——SETWINDOWLONG—— 设置窗口样式 SetWindowLong 函数原型为:LONG SetWindowLong(HWND hwnd,int nIndex,Lon
- 傻子能看懂的并查集入门讲解
- Ceph相识
- Java并发编程(二)同步
- CCF 201703-3 Markdown
- linux系统中errno对应的含义
- 代码干货 | Weex Android SDK源码分析