Przeglądaj źródła

添加Oracle数据库字段描述查询

develop
DESKTOP-58BB7H3\ZJH 4 miesięcy temu
rodzic
commit
6fdc3491f0
5 zmienionych plików z 46 dodań i 41 usunięć
  1. BIN
      .vs/CNAS_DBSync/v15/.suo
  2. BIN
      .vs/CNAS_DBSync/v15/Server/sqlite3/storage.ide
  3. BIN
      .vs/CNAS_DBSync/v15/Server/sqlite3/storage.ide-wal
  4. +44
    -0
      CNAS_DBSync/SelectTableType.cs
  5. +2
    -41
      CNAS_DBSync/frmSyncParams.cs

BIN
.vs/CNAS_DBSync/v15/.suo Wyświetl plik


BIN
.vs/CNAS_DBSync/v15/Server/sqlite3/storage.ide Wyświetl plik


BIN
.vs/CNAS_DBSync/v15/Server/sqlite3/storage.ide-wal Wyświetl plik


+ 44
- 0
CNAS_DBSync/SelectTableType.cs Wyświetl plik

@@ -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;
}

/// <summary>
/// 查询操作
/// </summary>
/// <param name="sql"></param>
/// <returns></returns>
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;
}
}
}

+ 2
- 41
CNAS_DBSync/frmSyncParams.cs Wyświetl plik

@@ -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});
// }

// }
//}
}

/// <summary>
@@ -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");


Ładowanie…
Anuluj
Zapisz