Skip to content

Commit a0cbc1c

Browse files
author
starlying
committed
oracle
1 parent cc69f30 commit a0cbc1c

15 files changed

Lines changed: 84 additions & 10 deletions

SiteServer.BackgroundPages/PageMain.cs

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -363,7 +363,8 @@ private string GetTopMenusHtml()
363363
{
364364
foreach (var childTab in parent.Children)
365365
{
366-
tabsBuilder.Append($@"<li><a href=""{PageUtils.GetLoadingUrl(childTab.Href)}"" target=""right"">{childTab.Text}</a></li>");
366+
var childTarget = !string.IsNullOrEmpty(childTab.Target) ? childTab.Target : "right";
367+
tabsBuilder.Append($@"<li><a href=""{PageUtils.GetLoadingUrl(childTab.Href)}"" target=""{childTarget}"">{childTab.Text}</a></li>");
367368
}
368369
}
369370

SiteServer.BackgroundPages/PageTest.cs

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,10 @@
11
using System;
22
using System.IO;
3+
using System.Text;
4+
using System.Text.RegularExpressions;
35
using System.Web.UI;
46
using System.Web.UI.WebControls;
7+
using SiteServer.CMS.Plugin.Apis;
58
using SiteServer.Utils;
69

710
namespace SiteServer.BackgroundPages
@@ -12,7 +15,8 @@ public class PageTest : Page
1215

1316
public void Page_Load(object sender, EventArgs e)
1417
{
15-
LtlContent.Text = PathUtils.GetFileName("web.config");
18+
LtlContent.Text = Regex.Replace(@"<!DOCTYPE html><html><head><meta charset=""utf-8""><meta name=""viewport"" content=""width=device-width,initial-scale=1""><title>用户中心</title><meta name=""renderer"" content=""webkit""/><link rel=""icon"" type=""image/x-icon"" href=""assets/favicon.png""><script type=""text/javascript"" src=""assets/js/jquery-1.9.1.min.js""></script><script type=""text/javascript"" src=""assets/js/jquery.imgareaselect.min.js""></script><script type=""text/javascript"">var config={domainAPI:""http://localhost:88/api/plugins/SS.Home""}</script></head><body><div id=""root""></div><script type=""text/javascript"" src=""assets/ueditor-1.4.3.2/ueditor.config.js""></script><script type=""text/javascript"" src=""assets/ueditor-1.4.3.2/ueditor.all.min.js""></script><script type=""text/javascript"" src=""assets/ueditor-1.4.3.2/lang/zh-cn/zh-cn.js""></script><script type=""text/javascript"" src=""main.71852d4a.min.js""></script></body></html>", "domainAPI:\"[^\"]*\"", $@"domainAPI:""{2}""");
19+
1620
//var list = PackageUtils.GetDependencyGroups("SS.Payment.1.1.5-beta");
1721
//foreach (var str in list)
1822
//{

SiteServer.BackgroundPages/SiteServer.BackgroundPages.csproj

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
<?xml version="1.0" encoding="utf-8"?>
22
<Project ToolsVersion="15.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
3+
<Import Project="..\packages\Microsoft.Net.Compilers.2.6.1\build\Microsoft.Net.Compilers.props" Condition="Exists('..\packages\Microsoft.Net.Compilers.2.6.1\build\Microsoft.Net.Compilers.props')" />
34
<Import Project="$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props" Condition="Exists('$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props')" />
45
<PropertyGroup>
56
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
@@ -11,6 +12,8 @@
1112
<AssemblyName>SiteServer.BackgroundPages</AssemblyName>
1213
<TargetFrameworkVersion>v4.6.1</TargetFrameworkVersion>
1314
<FileAlignment>512</FileAlignment>
15+
<NuGetPackageImportStamp>
16+
</NuGetPackageImportStamp>
1417
</PropertyGroup>
1518
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
1619
<DebugSymbols>true</DebugSymbols>
@@ -726,4 +729,10 @@
726729
</ProjectReference>
727730
</ItemGroup>
728731
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
732+
<Target Name="EnsureNuGetPackageBuildImports" BeforeTargets="PrepareForBuild">
733+
<PropertyGroup>
734+
<ErrorText>这台计算机上缺少此项目引用的 NuGet 程序包。使用“NuGet 程序包还原”可下载这些程序包。有关更多信息,请参见 http://go.microsoft.com/fwlink/?LinkID=322105。缺少的文件是 {0}。</ErrorText>
735+
</PropertyGroup>
736+
<Error Condition="!Exists('..\packages\Microsoft.Net.Compilers.2.6.1\build\Microsoft.Net.Compilers.props')" Text="$([System.String]::Format('$(ErrorText)', '..\packages\Microsoft.Net.Compilers.2.6.1\build\Microsoft.Net.Compilers.props'))" />
737+
</Target>
729738
</Project>
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
<?xml version="1.0" encoding="utf-8"?>
22
<packages>
3+
<package id="Microsoft.Net.Compilers" version="2.6.1" targetFramework="net461" developmentDependency="true" />
34
<package id="SiteServer.Plugin" version="1.4.0" targetFramework="net461" />
45
</packages>

SiteServer.CMS/Provider/DatabaseDao.cs

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -615,7 +615,7 @@ public bool IsTableExists(string tableName)
615615
}
616616
else
617617
{
618-
exists = GetIntResult($"select count(*) from all_objects where object_type = 'TABLE' and object_name = '{tableName}'") == 1;
618+
exists = GetIntResult($"SELECT COUNT(*) FROM ALL_OBJECTS WHERE OBJECT_TYPE = 'TABLE' AND OWNER = '{WebConfigUtils.ConnectionStringUserId.ToUpper()}' and OBJECT_NAME = '{tableName}'") == 1;
619619
}
620620
}
621621
catch
@@ -1079,7 +1079,7 @@ private List<TableColumnInfo> GetOracleColumnsLowercase(string connectionString,
10791079
{
10801080
var list = new List<TableColumnInfo>();
10811081
var sqlString =
1082-
$"SELECT COLUMN_NAME, DATA_TYPE, DATA_PRECISION, DATA_SCALE, CHAR_LENGTH, DATA_DEFAULT FROM all_tab_cols WHERE table_name = '{tableName.ToUpper()}' ORDER BY COLUMN_ID";
1082+
$"SELECT COLUMN_NAME, DATA_TYPE, DATA_PRECISION, DATA_SCALE, CHAR_LENGTH, DATA_DEFAULT FROM all_tab_cols WHERE OWNER = '{SqlUtils.GetConnectionStringUserId(connectionString).ToUpper()}' and table_name = '{tableName.ToUpper()}' ORDER BY COLUMN_ID";
10831083
using (var rdr = ExecuteReader(connectionString, sqlString))
10841084
{
10851085
while (rdr.Read())
@@ -1581,7 +1581,7 @@ public List<string> GetDropColumnsSqlString(string tableName, string attributeNa
15811581
}
15821582
else if (WebConfigUtils.DatabaseType == DatabaseType.Oracle)
15831583
{
1584-
sqlList.Add($"ALTER TABLE [{tableName}] DROP COLUMN [{attributeName}]");
1584+
sqlList.Add($"ALTER TABLE {tableName} DROP COLUMN {attributeName}");
15851585
}
15861586

15871587
return sqlList;

SiteServer.CMS/SiteServer.CMS.csproj

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
<?xml version="1.0" encoding="utf-8"?>
22
<Project ToolsVersion="15.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
3+
<Import Project="..\packages\Microsoft.Net.Compilers.2.6.1\build\Microsoft.Net.Compilers.props" Condition="Exists('..\packages\Microsoft.Net.Compilers.2.6.1\build\Microsoft.Net.Compilers.props')" />
34
<Import Project="$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props" Condition="Exists('$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props')" />
45
<PropertyGroup>
56
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
@@ -11,6 +12,8 @@
1112
<AssemblyName>SiteServer.CMS</AssemblyName>
1213
<TargetFrameworkVersion>v4.6.1</TargetFrameworkVersion>
1314
<FileAlignment>512</FileAlignment>
15+
<NuGetPackageImportStamp>
16+
</NuGetPackageImportStamp>
1417
</PropertyGroup>
1518
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
1619
<DebugSymbols>true</DebugSymbols>
@@ -440,4 +443,10 @@
440443
</ProjectReference>
441444
</ItemGroup>
442445
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
446+
<Target Name="EnsureNuGetPackageBuildImports" BeforeTargets="PrepareForBuild">
447+
<PropertyGroup>
448+
<ErrorText>这台计算机上缺少此项目引用的 NuGet 程序包。使用“NuGet 程序包还原”可下载这些程序包。有关更多信息,请参见 http://go.microsoft.com/fwlink/?LinkID=322105。缺少的文件是 {0}。</ErrorText>
449+
</PropertyGroup>
450+
<Error Condition="!Exists('..\packages\Microsoft.Net.Compilers.2.6.1\build\Microsoft.Net.Compilers.props')" Text="$([System.String]::Format('$(ErrorText)', '..\packages\Microsoft.Net.Compilers.2.6.1\build\Microsoft.Net.Compilers.props'))" />
451+
</Target>
443452
</Project>

SiteServer.CMS/packages.config

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
<?xml version="1.0" encoding="utf-8"?>
22
<packages>
3+
<package id="Microsoft.Net.Compilers" version="2.6.1" targetFramework="net461" developmentDependency="true" />
34
<package id="Microsoft.Web.Xdt" version="2.1.1" targetFramework="net461" />
45
<package id="MySql.Data" version="6.10.6" targetFramework="net461" />
56
<package id="Newtonsoft.Json" version="10.0.3" targetFramework="net461" />

SiteServer.Utils/SiteServer.Utils.csproj

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
<?xml version="1.0" encoding="utf-8"?>
22
<Project ToolsVersion="15.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
3+
<Import Project="..\packages\Microsoft.Net.Compilers.2.6.1\build\Microsoft.Net.Compilers.props" Condition="Exists('..\packages\Microsoft.Net.Compilers.2.6.1\build\Microsoft.Net.Compilers.props')" />
34
<Import Project="$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props" Condition="Exists('$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props')" />
45
<PropertyGroup>
56
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
@@ -11,6 +12,8 @@
1112
<AssemblyName>SiteServer.Utils</AssemblyName>
1213
<TargetFrameworkVersion>v4.6.1</TargetFrameworkVersion>
1314
<FileAlignment>512</FileAlignment>
15+
<NuGetPackageImportStamp>
16+
</NuGetPackageImportStamp>
1417
</PropertyGroup>
1518
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
1619
<DebugSymbols>true</DebugSymbols>
@@ -334,4 +337,10 @@
334337
<None Include="ThirdParty\Sgml\Html.dtd" />
335338
</ItemGroup>
336339
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
340+
<Target Name="EnsureNuGetPackageBuildImports" BeforeTargets="PrepareForBuild">
341+
<PropertyGroup>
342+
<ErrorText>这台计算机上缺少此项目引用的 NuGet 程序包。使用“NuGet 程序包还原”可下载这些程序包。有关更多信息,请参见 http://go.microsoft.com/fwlink/?LinkID=322105。缺少的文件是 {0}。</ErrorText>
343+
</PropertyGroup>
344+
<Error Condition="!Exists('..\packages\Microsoft.Net.Compilers.2.6.1\build\Microsoft.Net.Compilers.props')" Text="$([System.String]::Format('$(ErrorText)', '..\packages\Microsoft.Net.Compilers.2.6.1\build\Microsoft.Net.Compilers.props'))" />
345+
</Target>
337346
</Project>

SiteServer.Utils/SqlUtils.cs

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -913,6 +913,19 @@ public static string ToPostgreColumnString(DataType type, string attributeName,
913913
return $"{attributeName} varchar({length})";
914914
}
915915

916+
public static string GetConnectionStringUserId(string connectionString)
917+
{
918+
try
919+
{
920+
var csb = new SqlConnectionStringBuilder(connectionString);
921+
return csb.UserID;
922+
}
923+
catch
924+
{
925+
return string.Empty;
926+
}
927+
}
928+
916929
public static string ToOracleColumnString(DataType type, string attributeName, int length)
917930
{
918931
if (type == DataType.Boolean)

SiteServer.Utils/WebConfigUtils.cs

Lines changed: 16 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
1-
using System.Text;
1+
using System.Runtime.CompilerServices;
2+
using System.Text;
23
using System.Xml;
34
using SiteServer.Plugin;
45

@@ -14,7 +15,20 @@ public class WebConfigUtils
1415

1516
public static bool IsProtectData { get; private set; }
1617
public static DatabaseType DatabaseType { get; private set; }
17-
public static string ConnectionString { get; private set; }
18+
19+
private static string _connectionString;
20+
21+
public static string ConnectionStringUserId { get; private set; }
22+
23+
public static string ConnectionString
24+
{
25+
get { return _connectionString; }
26+
private set
27+
{
28+
_connectionString = value;
29+
ConnectionStringUserId = SqlUtils.GetConnectionStringUserId(_connectionString);
30+
}
31+
}
1832

1933
public static string AdminDirectory { get; private set; }
2034
public static string SecretKey { get; private set; }

0 commit comments

Comments
 (0)