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); } }
/// <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(); } }
/// <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; } }
protected override void OnSetConnectionString(XDbConnectionStringBuilder builder) { String str = null; // 获取OCI目录 if (builder.TryGetAndRemove("DllPath", out str) && !String.IsNullOrEmpty(str)) { } }
/// <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); } }
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); } }
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); } }
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); } }
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); } }
/// <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(); }
/// <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; }
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); } }
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); } }