diff --git a/.vs/CNAS_DBSync/v15/.suo b/.vs/CNAS_DBSync/v15/.suo
index b059ed0..dd922de 100644
Binary files a/.vs/CNAS_DBSync/v15/.suo and b/.vs/CNAS_DBSync/v15/.suo differ
diff --git a/.vs/CNAS_DBSync/v15/Server/sqlite3/storage.ide b/.vs/CNAS_DBSync/v15/Server/sqlite3/storage.ide
index e07fb90..f53de95 100644
Binary files a/.vs/CNAS_DBSync/v15/Server/sqlite3/storage.ide and b/.vs/CNAS_DBSync/v15/Server/sqlite3/storage.ide differ
diff --git a/.vs/CNAS_DBSync/v15/Server/sqlite3/storage.ide-wal b/.vs/CNAS_DBSync/v15/Server/sqlite3/storage.ide-wal
index 117d9f8..c7730b5 100644
Binary files a/.vs/CNAS_DBSync/v15/Server/sqlite3/storage.ide-wal and b/.vs/CNAS_DBSync/v15/Server/sqlite3/storage.ide-wal differ
diff --git a/CNAS_DBSync/SelectTableType.cs b/CNAS_DBSync/SelectTableType.cs
index 08293d5..7bd988a 100644
--- a/CNAS_DBSync/SelectTableType.cs
+++ b/CNAS_DBSync/SelectTableType.cs
@@ -1,6 +1,7 @@
using CnasSynchronousCommon;
using CnasSynchronusDAL;
using CnasSynchrousModel;
+using Oracle.ManagedDataAccess.Client;
using System;
using System.Collections.Generic;
using System.Data;
@@ -143,5 +144,48 @@ WHERE
}
+
+ public static DataTable OrcSql(string strTableName, SyncInstrumentItemInfo t) {
+ connectionStr = $"Data Source=(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST={t.SyncInstrumentDSInfo.Host})(PORT={t.SyncInstrumentDSInfo.Port}))" + $"(CONNECT_DATA=(SID={t.SyncInstrumentDSInfo.ServerName})));User Id={t.SyncInstrumentDSInfo.UserId};Password={t.SyncInstrumentDSInfo.UserPwd};";
+ DataTable dt = new DataTable();
+ string strSql = string.Format("select COLUMN_NAME AS ColumnName,NULLABLE AS IsNullable,DATA_TYPE AS DataType,DATA_LENGTH AS CharMaxLenth,DATA_LENGTH AS CharOcterLenth,DATA_PRECISION AS NumericPrecision,DATA_SCALE AS NumericScale from user_tab_columns where table_name='{0}'", strTableName.ToUpper());
+ try
+ {
+ dt = GetDataTable(strSql, new OracleParameter[] { });
+ }
+ catch (Exception ex)
+ {
+ AppLog.Error(ex.Message);
+ }
+ return dt;
+ }
+
+ ///
+ /// 查询操作
+ ///
+ ///
+ ///
+ public static DataTable GetDataTable(string sql, params OracleParameter[] sp)
+ {
+ DataTable dt = new DataTable();
+ try
+ {
+ using (OracleConnection conn = new OracleConnection(connectionStr))
+ {
+ conn.Open();
+ //using (OracleDataAdapter sda = new OracleDataAdapter("select * from t_weight_info where WEIGH_DATE > '2019-10-02 14:20:12'", conn))
+ using (OracleDataAdapter sda = new OracleDataAdapter(sql, conn))
+ {
+ sda.SelectCommand.Parameters.AddRange(sp);
+ sda.Fill(dt);
+ }
+ }
+ }
+ catch (Exception ex)
+ {
+ AppLog.Error(ex.Message);
+ }
+ return dt;
+ }
}
}
diff --git a/CNAS_DBSync/frmSyncParams.cs b/CNAS_DBSync/frmSyncParams.cs
index 265acc9..96fdc3d 100644
--- a/CNAS_DBSync/frmSyncParams.cs
+++ b/CNAS_DBSync/frmSyncParams.cs
@@ -301,13 +301,12 @@ namespace CNAS_DBSync
{
case DataSourceType.MySQL:
dtTableType = SelectTableType.MySqlsec(strTableName_Instru);
-
break;
case DataSourceType.Dm:
dtTableType = SelectTableType.DmSql(strTableName_Instru);
break;
case DataSourceType.Oracle:
-
+ dtTableType = SelectTableType.OrcSql(strTableName_Instru, currentSyncItem);
break;
case DataSourceType.PostgreSQL:
dtTableType = SelectTableType.PostgreSql(strTableName_Instru);
@@ -315,17 +314,9 @@ namespace CNAS_DBSync
case DataSourceType.SQL:
dtTableType = SelectTableType.Sqlserversec(strTableName_Instru, currentSyncItem);
break;
- case DataSourceType.SQLLite:
default:
-
break;
}
-
-
- //dtTableType = CnasDataOperationFact.CnasDataOperation().GetCNASTableTypeLenth(strTableName_Instru, currentSyncItem.SyncTargetDBInfo);
-
- //string strTableName_Instru = cbxInstrument.Text.ToString();
-
DataTable dtInstruShow = new DataTable();
dtInstruShow.Columns.Add("InstruFieldName");
dtInstruShow.Columns.Add("InstruDataType");
@@ -336,23 +327,7 @@ namespace CNAS_DBSync
}
dgvInstruDS.DataSource = dtInstruShow;
- //if (dictInstruTables.ContainsKey(strTableName_Instru))
- //{
- // DataTable dt = dictInstruTables[strTableName_Instru];
- // if (dt != null)
- // {
- // DataTable dtInstruShow = new DataTable();
- // dtInstruShow.Columns.Add("InstruFieldName");
- // dtInstruShow.Columns.Add("InstruDataType");
-
- // foreach (DataColumn dc in dt.Columns)
- // {
- // dtInstruShow.Rows.Add(new object[] { dc.ColumnName,dc.DataType});
- // }
-
-
- // }
- //}
+
}
///
@@ -366,26 +341,12 @@ namespace CNAS_DBSync
string strTableName_Cnas = cbxCnas.Text.ToString();
- //if (currentSyncItem.CnasInstrumentColumn != null && currentSyncItem.CnasInstrumentColumn != "")
- //{
- // DialogResult dr = MessageBox.Show("已存在配置完成的CNAS仪器对应列,切换表将导致该配置失效,是否继续?", "提示", MessageBoxButtons.YesNo, MessageBoxIcon.Question, MessageBoxDefaultButton.Button1);
- // if (dr == DialogResult.No)
- // {
- // return;
- // }
- //}
-
DataTable dtTableStruct = CnasDataOperationFact.CnasDataOperation().GetCNASTableTypeLenth(strTableName_Cnas, currentSyncItem.SyncTargetDBInfo);
//从数据库中加载数据表结构
//DataTable dtTableStruct = CnasDataOperationFact.CnasDataOperation().GetCNASTablesStruct(strTableName_Cnas,currentSyncItem.SyncTargetDBInfo);
if (dtTableStruct != null)
{
-
- //DataTable dtTableType = CnasDataOperationFact.CnasDataOperation().GetCNASTableTypeLenth(strTableName_Instru, currentSyncItem.SyncTargetDBInfo);
-
- //string strTableName_Instru = cbxInstrument.Text.ToString();
-
DataTable dtCnasShow = new DataTable();
dtCnasShow.Columns.Add("CnasFieldName");
dtCnasShow.Columns.Add("CnasDataType");