Exemplo n.º 1
0
        protected override void OnSetConnectionString(XDbConnectionStringBuilder builder)
        {
            // Oracle强制关闭反向工程,禁止通过连接字符串设置
            if (builder.TryGetAndRemove(_.Migration, out var value) && !value.IsNullOrEmpty())
            {
                //var mode = (Migration)Enum.Parse(typeof(Migration), value, true);
                //DAL.WriteLog("");
            }

            base.OnSetConnectionString(builder);

            // 修正数据源
            if (builder.TryGetAndRemove("Data Source", out var str) && !str.IsNullOrEmpty())
            {
                if (str.Contains("://"))
                {
                    var uri  = new Uri(str);
                    var type = uri.Scheme.IsNullOrEmpty() ? "TCP" : uri.Scheme.ToUpper();
                    var port = uri.Port > 0 ? uri.Port : 1521;
                    var name = uri.PathAndQuery.TrimStart("/");
                    if (name.IsNullOrEmpty())
                    {
                        name = "ORCL";
                    }

                    str = $"(DESCRIPTION=(ADDRESS_LIST=(ADDRESS=(PROTOCOL={type})(HOST={uri.Host})(PORT={port})))(CONNECT_DATA=(SERVICE_NAME={name})))";
                }
                builder.Add("Data Source", str);
            }
        }
Exemplo n.º 2
0
        /// <summary>设置连接字符串时允许从中取值或修改,基类用于读取拥有者Owner,子类重写时应调用基类</summary>
        /// <param name="builder"></param>
        protected virtual void OnSetConnectionString(XDbConnectionStringBuilder builder)
        {
            String value;

            if (builder.TryGetAndRemove(_.Owner, out value) && !String.IsNullOrEmpty(value))
            {
                Owner = value;
            }
            if (builder.TryGetAndRemove(_.ShowSQL, out value) && !String.IsNullOrEmpty(value))
            {
                ShowSQL = value.ToBoolean();
            }
        }
Exemplo n.º 3
0
        /// <summary>设置连接字符串时允许从中取值或修改,基类用于读取拥有者Owner,子类重写时应调用基类</summary>
        /// <param name="builder"></param>
        protected virtual void OnSetConnectionString(XDbConnectionStringBuilder builder)
        {
            String value;

            if (builder.TryGetAndRemove(KEY_OWNER, out value) && !String.IsNullOrEmpty(value))
            {
                Owner = value;
            }
        }
Exemplo n.º 4
0
        protected override void OnSetConnectionString(XDbConnectionStringBuilder builder)
        {
            String str = null;

            // 获取OCI目录
            if (builder.TryGetAndRemove("DllPath", out str) && !String.IsNullOrEmpty(str))
            {
            }
        }
Exemplo n.º 5
0
Arquivo: DbBase.cs Projeto: xchit/X
 /// <summary>设置连接字符串时允许从中取值或修改,基类用于读取拥有者Owner,子类重写时应调用基类</summary>
 /// <param name="builder"></param>
 protected virtual void OnSetConnectionString(XDbConnectionStringBuilder builder)
 {
     if (builder.TryGetAndRemove(_.Owner, out var value) && !String.IsNullOrEmpty(value))
     {
         Owner = value;
     }
     if (builder.TryGetAndRemove(_.ShowSQL, out value) && !String.IsNullOrEmpty(value))
     {
         ShowSQL = value.ToBoolean();
     }
     if (builder.TryGetAndRemove(_.UserParameter, out value) && !String.IsNullOrEmpty(value))
     {
         UserParameter = value.ToBoolean();
     }
     if (builder.TryGetAndRemove(_.Migration, out value) && !String.IsNullOrEmpty(value))
     {
         Migration = (Migration)Enum.Parse(typeof(Migration), value, true);
     }
 }
Exemplo n.º 6
0
        protected override void OnSetConnectionString(XDbConnectionStringBuilder builder)
        {
            String str = null;
            // 获取数据目录,用于反向工程创建数据库
            if (builder.TryGetAndRemove("DataPath", out str) && !String.IsNullOrEmpty(str)) DataPath = str;

            base.OnSetConnectionString(builder);

            if (!builder.ContainsKey(Application_Name))
            {
                String name = Runtime.IsWeb ? HostingEnvironment.SiteName : AppDomain.CurrentDomain.FriendlyName;
                builder[Application_Name] = String.Format("XCode_{0}_{1}", name, ConnName);
            }
        }
Exemplo n.º 7
0
        protected override void OnSetConnectionString(XDbConnectionStringBuilder builder)
        {
            String str = null;

            // 获取数据目录,用于反向工程创建数据库
            if (builder.TryGetAndRemove("DataPath", out str) && !String.IsNullOrEmpty(str))
            {
                DataPath = str;
            }

            base.OnSetConnectionString(builder);

            if (!builder.ContainsKey(Application_Name))
            {
                String name = Runtime.IsWeb ? HostingEnvironment.SiteName : AppDomain.CurrentDomain.FriendlyName;
                builder[Application_Name] = String.Format("XCode_{0}_{1}", name, ConnName);
            }
        }
Exemplo n.º 8
0
        protected override void OnSetConnectionString(XDbConnectionStringBuilder builder)
        {
            String str = null;

            // 获取OCI目录
            if (builder.TryGetAndRemove("DllPath", out str) && !String.IsNullOrEmpty(str))
            {
                SetDllPath(str);
                //else if (!String.IsNullOrEmpty(str = DllPath))
                //    SetDllPath(str);
            }
            else
            {
                if (!String.IsNullOrEmpty(str = DllPath))
                {
                    SetDllPath(str);
                }
                // 异步设置DLL目录
                //ThreadPool.QueueUserWorkItem(ss => SetDllPath(DllPath));
                //Thread.Sleep(500);
            }
        }
Exemplo n.º 9
0
        protected override void OnSetConnectionString(XDbConnectionStringBuilder builder)
        {
            base.OnSetConnectionString(builder);

            // 修正数据源
            if (builder.TryGetAndRemove("Data Source", out var str) && !str.IsNullOrEmpty())
            {
                if (str.Contains("://"))
                {
                    var uri  = new Uri(str);
                    var type = uri.Scheme.IsNullOrEmpty() ? "TCP" : uri.Scheme.ToUpper();
                    var port = uri.Port > 0 ? uri.Port : 1521;
                    var name = uri.PathAndQuery.TrimStart("/");
                    if (name.IsNullOrEmpty())
                    {
                        name = "ORCL";
                    }

                    str = "(DESCRIPTION=(ADDRESS_LIST=(ADDRESS=(PROTOCOL={0})(HOST={1})(PORT={2})))(CONNECT_DATA=(SERVICE_NAME={3})))".F(type, uri.Host, port, name);
                }
                builder.Add("Data Source", str);
            }
        }
Exemplo n.º 10
0
 /// <summary>设置连接字符串时允许从中取值或修改,基类用于读取拥有者Owner,子类重写时应调用基类</summary>
 /// <param name="builder"></param>
 protected virtual void OnSetConnectionString(XDbConnectionStringBuilder builder)
 {
     String value;
     if (builder.TryGetAndRemove(_.Owner, out value) && !String.IsNullOrEmpty(value)) Owner = value;
     if (builder.TryGetAndRemove(_.ShowSQL, out value) && !String.IsNullOrEmpty(value)) ShowSQL = value.ToBoolean();
 }
Exemplo n.º 11
0
 /// <summary>设置连接字符串时允许从中取值或修改,基类用于读取拥有者Owner,子类重写时应调用基类</summary>
 /// <param name="builder"></param>
 protected virtual void OnSetConnectionString(XDbConnectionStringBuilder builder)
 {
     String value;
     if (builder.TryGetAndRemove(KEY_OWNER, out value) && !String.IsNullOrEmpty(value)) Owner = value;
 }
Exemplo n.º 12
0
 protected override void OnSetConnectionString(XDbConnectionStringBuilder builder)
 {
     String str = null;
     // ��ȡOCIĿ¼
     if (builder.TryGetAndRemove("DllPath", out str) && !String.IsNullOrEmpty(str))
     {
         SetDllPath(str);
         //else if (!String.IsNullOrEmpty(str = DllPath))
         //    SetDllPath(str);
     }
     else
     {
         if (!String.IsNullOrEmpty(str = DllPath)) SetDllPath(str);
         // �첽����DLLĿ¼
         //ThreadPool.QueueUserWorkItem(ss => SetDllPath(DllPath));
         //Thread.Sleep(500);
     }
 }
Exemplo n.º 13
0
 protected override void OnSetConnectionString(XDbConnectionStringBuilder builder)
 {
     String str = null;
     // 获取OCI目录
     if (builder.TryGetAndRemove("DllPath", out str) && !String.IsNullOrEmpty(str))
         SetDllPath(str);
     //else if (!String.IsNullOrEmpty(str = DllPath))
     //    SetDllPath(str);
     else
     {
         //if (!String.IsNullOrEmpty(str = DllPath)) SetDllPath(str);
         // 异步设置DLL目录
         ThreadPool.QueueUserWorkItem(ss => SetDllPath(DllPath));
         Thread.Sleep(500);
     }
 }