예제 #1
0
 /// <summary>
 ///  数据库密码
 /// </summary>
 /// <param name="info">数据库信息</param>
 /// <returns>数据库密码</returns>
 public static string getDbPassword(this DBInfo info)
 {
     if (info == null)
     {
         return("");
     }
     else
     {
         return(info.Password);
     }
 }
예제 #2
0
 /// <summary>
 ///  数据库端口
 /// </summary>
 /// <param name="info">数据库信息</param>
 /// <returns>数据库端口</returns>
 public static int getDbPort(this DBInfo info)
 {
     if (info == null)
     {
         return(0);
     }
     else
     {
         return(info.Port);
     }
 }
예제 #3
0
 /// <summary>
 ///  数据库账号
 /// </summary>
 /// <param name="info">数据库信息</param>
 /// <returns>数据库账号</returns>
 public static string getDbUser(this DBInfo info)
 {
     if (info == null)
     {
         return("");
     }
     else
     {
         return(info.User);
     }
 }
예제 #4
0
 /// <summary>
 /// 是否启用数据库配置
 /// </summary>
 /// <param name="info">数据库信息</param>
 /// <returns>是否启用数据库配置</returns>
 public static bool IsDBEnable(this DBInfo info)
 {
     if (info == null)
     {
         return(false);
     }
     else
     {
         return(info.Enable);
     }
 }
예제 #5
0
 /// <summary>
 ///  数据库编码
 /// </summary>
 /// <param name="info">数据库信息</param>
 /// <returns>数据库编码</returns>
 public static System.Text.Encoding getDbCharset(this DBInfo info)
 {
     if (info == null)
     {
         return(System.Text.Encoding.Default);
     }
     else
     {
         return(System.Text.Encoding.GetEncoding(info.Charset));
     }
 }
예제 #6
0
 /// <summary>
 ///  数据库超时
 /// </summary>
 /// <param name="info">数据库信息</param>
 /// <returns>数据库超时</returns>
 public static int getDbTimeout(this DBInfo info)
 {
     if (info == null)
     {
         return(0);
     }
     else
     {
         return(info.TimeOut);
     }
 }
예제 #7
0
 /// <summary>
 ///  数据库类型
 /// </summary>
 /// <param name="info">数据库信息</param>
 /// <returns>数据库类型</returns>
 public static string getDbName(this DBInfo info)
 {
     if (info == null)
     {
         return("");
     }
     else
     {
         return(info.DataBaseName);
     }
 }
예제 #8
0
        /// <summary>
        /// 数据库连接串
        /// </summary>
        /// <param name="info">数据库信息</param>
        /// <returns>连接串</returns>
        public static string ConnectionString(this DBInfo info)
        {
            if (info == null)
            {
                return("");
            }
            else if (!info.Enable)
            {
                return("");
            }
            string connstr = "";

            if (string.IsNullOrEmpty(info.Url))
            {
                info.Url = "(local)";
            }
            switch (info.Mode)
            {
            case DBType.Access:
                if (string.IsNullOrEmpty(info.User) && string.IsNullOrEmpty(info.Password))
                {
                    if (string.IsNullOrEmpty(info.User))
                    {
                        info.User = "******";
                    }
                    if (string.IsNullOrEmpty(info.Password))
                    {
                        connstr = "Provider=Microsoft.ACE.OLEDB.12.0;User ID=" + info.User + ";Data Source=" + (info.Url.EndsWith("\\") ? info.Url + info.DataBaseName : info.Url + "\\" + info.DataBaseName) + ";Mode=Share Deny Read|Share Deny Write;";
                    }
                    else
                    {
                        connstr = "Provider=Microsoft.ACE.OLEDB.12.0;User ID=" + info.User + ";Data Source=" + (info.Url.EndsWith("\\") ? info.Url + info.DataBaseName : info.Url + "\\" + info.DataBaseName) + ";Jet OLEDB:New Database Password=\"" + info.Password + "\";Mode=Share Deny Read|Share Deny Write;";
                    }
                }
                else
                {
                    connstr = "Provider=Microsoft.ACE.OLEDB.12.0;User ID=" + info.User + ";Data Source=" + (info.Url.EndsWith("\\") ? info.Url + info.DataBaseName : info.Url + "\\" + info.DataBaseName) + ";Jet OLEDB:New Database Password=\"" + info.Password + "\";Mode=Share Deny Read|Share Deny Write;";
                }
                break;

            case DBType.MYSQL:
                if (string.IsNullOrEmpty(info.Charset))
                {
                    info.Charset = "gb2312";
                }
                connstr = "Server=" + info.Url + ";Port=" + info.Port.ToString() + ";Database=" + info.DataBaseName + ";Uid=" + info.User + ";Pwd=" + info.Password + ";CharSet=" + info.Charset + ";";
                break;

            case DBType.MSSQL:
                if (string.IsNullOrEmpty(info.Url))
                {
                    info.Url = ".";
                }
                if (info.Port > 0)
                {
                    connstr = "Server=" + info.Url + ";Port=" + info.Port.ToString() + ";Database=" + info.DataBaseName + ";Uid=" + info.User + ";Pwd=" + info.Password + ";";
                }
                else
                {
                    connstr = "Server=" + info.Url + ";Database=" + info.DataBaseName + ";Uid=" + info.User + ";Pwd=" + info.Password + ";";
                }
                break;

            case DBType.Oracle:
                if (string.IsNullOrEmpty(info.Url))
                {
                    info.Url = "localhost";
                }
                if (info.Port == 0)
                {
                    info.Port = 1522;
                }
                connstr = "Persist Security Info=True;User ID=" + info.User + ";Password="******";Data Source= (DESCRIPTION =(ADDRESS_LIST =(ADDRESS = (PROTOCOL = TCP)(HOST = " + info.Url + ")(PORT = " + info.Port.ToString() + ")))(CONNECT_DATA =(SERVICE_NAME = " + info.DataBaseName + ")));";
                break;

            case DBType.PostgreSQL:
                if (string.IsNullOrEmpty(info.Url))
                {
                    info.Url = "localhost";
                }
                if (info.Port > 0)
                {
                    connstr = "Server=" + info.Url + ";Port=" + info.Port.ToString() + ";Database=" + info.DataBaseName + ";Uid=" + info.User + ";Pwd=" + info.Password + ";";
                }
                else
                {
                    connstr = "Server=" + info.Url + ";Database=" + info.DataBaseName + ";Uid=" + info.User + ";Pwd=" + info.Password + ";";
                }
                break;

            case DBType.SQLite:
                connstr = "Data Source =" + (info.Url.EndsWith("\\") ? info.Url + info.DataBaseName : info.Url + "\\" + info.DataBaseName);
                break;
            }
            return(connstr);
        }