public async Task SaveTreeTest() { MsSqlServer server = new MsSqlServer() { Server = @"DESKTOP-H3A8TDA\SQLEXPRESS", IntegratedSecurity = true }; if (!await server.TestConnectionAsync()) { throw new Exception(); } Database database = new Database("northwind"); MsSqlLoader loader = new MsSqlLoader(server); await loader.LoadChildren(database); using (FileStream fs = new FileStream(Path, FileMode.OpenOrCreate)) { fs.SetLength(0); DataContractSerializer saver = new DataContractSerializer(typeof(SaveData)); saver.WriteObject(fs, new SaveData(loader, database)); } Assert.IsTrue(File.Exists(Path)); }
private async void TestConnection() { IsBusy = true; MsSqlServer test = new MsSqlServer() { Server = _server, Port = _port, IsTcp = _isTCP, InitialCatalog = _initialCatalog, UserId = _userId, Password = _password, IntegratedSecurity = _integratedSecurity, ConnectionTimeout = _connectionTimeout, Pooling = _pooling }; if (await test.TestConnectionAsync()) { IsBusy = false; MessageBox.Show("Connection succsessful!", "Test Connection", MessageBoxButton.OK, MessageBoxImage.Information); } else { IsBusy = false; MessageBox.Show("Connection failed!", "Test Connection", MessageBoxButton.OK, MessageBoxImage.Warning); } }
private async void CreateConection(ConnectionWindow window) { IsBusy = true; MsSqlServer server = new MsSqlServer() { Server = _server, Port = _port, IsTcp = _isTCP, InitialCatalog = _initialCatalog, UserId = _userId, Password = _password, IntegratedSecurity = _integratedSecurity, ConnectionTimeout = _connectionTimeout, Pooling = _pooling }; if (await server.TestConnectionAsync()) { IsBusy = false; Connection = server; window.DialogResult = true; window.Close(); } else { IsBusy = false; MessageBox.Show("Connection failed!", "Error", MessageBoxButton.OK, MessageBoxImage.Error); } }
public void WhenDbExists_ThenSetQueryStoreOff() { var connString = GetConnectionString(GetDbName()); MsSqlServer.DeployDacpac(connString, TestFiles.Dacpac); Act(connString); MsSqlServer.DropDatabase(connString); }
public void WhenDbExists_ThenReturnTrue() { var connString = GetConnectionString(GetDbName()); MsSqlServer.DeployDacpac(connString, TestFiles.Dacpac); var result = Act(connString); Assert.That(result, Is.True); MsSqlServer.DropDatabase(connString); }
public void WhenDbDoesNotExist_ThenCreateDb() { var connString = GetConnectionString(GetDbName()); MsSqlServer.DeployDacpac(connString, TestFiles.Dacpac); var exists = MsSqlServer.Exists(connString); Assert.That(exists, Is.True); MsSqlServer.DropDatabase(connString); }
public void WhenDbExists_ThenDropDb() { var connString = GetConnectionString(GetDbName()); MsSqlServer.DeployDacpac(connString, TestFiles.Dacpac); Act(connString); var exists = MsSqlServer.Exists(connString); Assert.That(exists, Is.False); }
public async Task ConnectionTest() { MsSqlServer server = new MsSqlServer() { Server = @"DESKTOP-H3A8TDA\SQLEXPRESS", IntegratedSecurity = true, InitialCatalog = "master" }; bool connectionResul = await server.TestConnectionAsync(); Assert.IsTrue(connectionResul); }
static void Main() { string serverName = TrasenClasses.GeneralClasses.ApiFunction.GetIniString("SERVER_NAME", "NAME", Constant.ApplicationDirectory + "\\ClientConfig.ini"); if (serverName == "") { System.Windows.Forms.MessageBox.Show("ClientConfig.ini中[SERVER_NAME]的NAME未设置,请启动配置程序并设置当前服务器", "错误"); return; } //string filename = Constant.ApplicationDirectory + " \\" + string.Format("{0:yyyyMMdd}", DateTime.Now) + ".txt"; RelationalDatabase database = null; database = new MsSqlServer(); string connectionString = WorkStaticFun.GetConnnectionString(ConnectionType.SQLSERVER, serverName); database.Initialize(connectionString); Application.EnableVisualStyles(); Application.SetCompatibleTextRenderingDefault(false); Application.Run(new FrmServer(database)); }
public async Task LoadChildrenTest() { MsSqlServer server = new MsSqlServer() { Server = @"CTDLAPTOP\SQLEXPRESS", IntegratedSecurity = true }; if (!await server.TestConnectionAsync()) { throw new Exception(); } Database database = new Database("Northwnd"); MsSqlLoader loader = new MsSqlLoader(server); await loader.LoadChildren(database); Assert.IsTrue(database.Children.Count != 0); }
public async Task LoadProperties() { MsSqlServer server = new MsSqlServer() { Server = @"DESKTOP-H3A8TDA\SQLEXPRESS", IntegratedSecurity = true }; if (!await server.TestConnectionAsync()) { throw new Exception(); } Database database = new Database("northwind"); MsSqlLoader loader = new MsSqlLoader(server); await loader.LoadProperties(database); Assert.IsTrue(database.Properties.Count != 0); }
public override bool TestConfig(string[] args) { RelationalDatabase db = new MsSqlServer(); try { string connectionString = "packet size=4096;user id={0};password={1};data source={2};persist security info=True;initial catalog={3}"; db.Initialize(string.Format(connectionString, args[2], args[3], args[0], args[1])); db.Open(); db.Close(); return(true); } catch (Exception error) { return(false); } finally { db.Dispose(); db = null; } }
public static RelationalDatabase Database(ConnectionType connectionType, string ConnectString) { RelationalDatabase database = null; //连接数据库 switch (connectionType) { case ConnectionType.SQLSERVER: database = new MsSqlServer(); break; case ConnectionType.IBMDB2: database = new IbmDb2(); break; case ConnectionType.MSACCESS: database = new MsAccess(); break; case ConnectionType.ORACLE: database = new Oracle(); break; default: break; } //初始化数据库连接 if (database != null) { database.Initialize(ConnectString); } else { throw new Exception("初始化数据库时没有成功,连接失败"); } return(database); }
public async Task LoadDescription() { MsSqlServer server = new MsSqlServer() { Server = @"DESKTOP-H3A8TDA\SQLEXPRESS", IntegratedSecurity = true }; if (!await server.TestConnectionAsync()) { throw new Exception(); } Database database = new Database("northwind"); MsSqlLoader loader = new MsSqlLoader(server); await loader.LoadChildren(database); DbObject child = database.Children.First(); new MsSqlPrinterFactory().GetPrinter(child).GetDefintition(child); Assert.IsTrue(!string.IsNullOrWhiteSpace(child.Definition)); }
public static TrasenClasses.DatabaseAccess.RelationalDatabase GetDb() { //string serverName = "mydb_svr"; //string cfgPath = ServerVariable.ConfigFilePath; //serverName = TrasenClasses.GeneralClasses.ApiFunction.GetIniString("SERVER_NAME", "NAME", cfgPath); //if (serverName == "") //{ // string errmsg = "ClientConfig.ini中[SERVER_NAME]的NAME未设置,请启动配置程序并设置当前服务器"; // throw new Exception(errmsg); //} //string connectionString = BaseDal.GetConnnectionString(cfgPath, ConnectionType.SQLSERVER, serverName); string connectionString = "packet size=4096;user id=sa;password=1;data source=192.168.0.92;persist security info=True;initial catalog=trasen"; TrasenFrame.Forms.FrmMdiMain.Jgbm = 1001; TrasenFrame.Forms.FrmMdiMain.CurrentDept = new Department(); TrasenFrame.Forms.FrmMdiMain.CurrentUser = new User(); RelationalDatabase db = new MsSqlServer(); db.Initialize(connectionString); return(db); }
private static void Act(string connString) { MsSqlServer.DropDatabase(connString); }
public void WhenDacpacDoesNotExist_ThenThrowException() { var connString = GetConnectionString(GetDbName()); Assert.Throws <InvalidOperationException>(() => MsSqlServer.DeployDacpac(connString, @".\DoesNotExist.dacpac")); }
private static bool Act(string connString) { return(MsSqlServer.Exists(connString)); }
/// <summary> /// Fonction principale. /// </summary> /// <param name="args">Arguments de la ligne de commande.</param> static void Main(string[] args) { bool tmpBool; int tmpInt; string tmpString; StringBuilder errors = new StringBuilder(); XmlDocument xml = new XmlDocument(); xml.Load(configFile); // Lecture des paramètres du rapport if (false == Boolean.TryParse(GetSettingsValue(xml, RapportTags.Sheet), out tmpBool)) { tmpBool = false; } RapportSettings.BySheetOutput = tmpBool; RapportSettings.File = GetSettingsValue(xml, RapportTags.SqlFile); RapportSettings.OutFilePrefix = GetSettingsValue(xml, RapportSettings.OutFilePrefix); RapportSettings.SheetNamePrefix = GetSettingsValue(xml, RapportTags.SheetPrefix); RapportSettings.OutFilePrefix = GetSettingsValue(xml, RapportTags.FilePrefix); RapportSettings.LogFilePrefix = GetSettingsValue(xml, RapportTags.LogPrefix); if (string.Empty != RapportSettings.LogFilePrefix.Trim()) { RapportSettings.LogFile = string.Format("{0}{1:yyyy_MM_dd}.log", RapportSettings.LogFilePrefix, DateTime.Now); Redirect = new OutToFile(RapportSettings.LogFile); } if (false == File.Exists(RapportSettings.File)) { errors.AppendLine("Le fichier SQL du rapport est manquant"); } if (false == File.Exists(configFile)) { errors.AppendLine("Le fichier de configuration est manquant"); } // Lecture des paramètres de la base de données. DbSettings.Address = GetSettingsValue(xml, DbTags.Server); DbSettings.Login = GetSettingsValue(xml, DbTags.Login); DbSettings.Pw = GetSettingsValue(xml, DbTags.Pw); if (false == Boolean.TryParse(GetSettingsValue(xml, DbTags.Trusted), out tmpBool)) { tmpBool = false; } DbSettings.TrustedConnection = tmpBool; DbSettings.Default = GetSettingsValue(xml, DbTags.DefaultDb); if (string.Empty == DbSettings.Address.Trim()) { errors.AppendLine("Pas de serveur défini dans le fichier de config"); } if (false == DbSettings.TrustedConnection && string.Empty == DbSettings.Login.Trim()) { errors.AppendLine("Il doit y avoir un login OU autoriser la connexion windows (Trusted)"); } if (false == DbSettings.TrustedConnection && string.Empty == DbSettings.Pw.Trim()) { Console.WriteLine(@"/!\ Pas de mot de passe défini pour le login /!\"); } if (string.Empty == DbSettings.Default.Trim()) { Console.WriteLine(@"/!\ Pas de base par défaut définie /!\"); } // Lecture des paramètres du mail if (false == Boolean.TryParse(GetSettingsValue(xml, MailTags.Send), out tmpBool)) { tmpBool = false; } MailSettings.Send = tmpBool; if (true == MailSettings.Send) { MailSettings.Server = GetSettingsValue(xml, MailTags.Smtp); if (false == int.TryParse(GetSettingsValue(xml, MailTags.Port), out tmpInt)) { tmpInt = 25; } MailSettings.Port = tmpInt; if (false == bool.TryParse(GetSettingsValue(xml, MailTags.MustLogin), out tmpBool)) { tmpBool = false; } MailSettings.MustLogin = tmpBool; if (true == MailSettings.MustLogin) { MailSettings.Login = GetSettingsValue(xml, MailTags.Login); MailSettings.Pw = GetSettingsValue(xml, MailTags.Pw); } MailSettings.Subject = GetSettingsValue(xml, MailTags.Subject); MailSettings.Body = GetSettingsValue(xml, MailTags.Body); MailSettings.Sender = GetSettingsValue(xml, MailTags.Sender); MailSettings.Recipient = GetSettingsValue(xml, MailTags.recipientTag); } if (true == MailSettings.Send && string.Empty == MailSettings.Server.Trim()) { errors.AppendLine("Aucun serveur mail défini alors que l'envoi de mail est actif"); } if (true == MailSettings.Send && string.Empty == MailSettings.Sender.Trim()) { errors.AppendLine("Aucune adresse mail d'envoi définie alors que l'envoi de mail est actif"); } if (true == MailSettings.Send && string.Empty == MailSettings.Recipient.Trim()) { errors.AppendLine("Aucune adresse mail de destination définie alors que l'envoi de mail est actif"); } if (true == MailSettings.MustLogin && string.Empty == MailSettings.Login.Trim()) { errors.AppendLine("Le serveur de mail est configuré pour demander un login, mais aucun login fourni"); } if (true == MailSettings.MustLogin && string.Empty == MailSettings.Pw.Trim()) { Console.WriteLine(@"/!\ Pas de mot de passe défini pour le serveur mail /!\"); } if (errors.Length > 0) { ErrorClose(errors.ToString()); } tmpString = GetSettingsValue(xml, FormatTags.DateTimeFormat); if (tmpString != string.Empty) { FormatSettings.DateTime = tmpString; } // Extraction des paramètres ParamsExtract(); // Extraction des données DataSet data = MsSqlServer.Extract(); string ExcelFileName = Excel.Generate(data); try { sendMail(ExcelFileName); } catch (Exception exp) { ErrorClose(string.Format("Erreur lors de l'envoi du mail : {0}", exp.Message)); } finally { if (Redirect != null) { Redirect.Dispose(); } } // Suppression du fichier de logs si le fichier est vide. if (File.Exists(RapportSettings.LogFile)) { FileInfo fi = new FileInfo(RapportSettings.LogFile); if (fi.Length == 0) { File.Delete(RapportSettings.LogFile); } } }
/// <summary> /// 更新当前界面的显示 返回当前呼叫信息 /// </summary> /// <param name="text"></param> public static string UpdateDisplay(object data, int zqid, RelationalDatabase _DataBase) { string values = ""; try { RelationalDatabase db1 = new MsSqlServer(); db1.Initialize(_DataBase.ConnectionString); //更新医生呼叫情况的显示DisplayAreaDoctorCallInfo(); if (data != null && data.GetType() == typeof(System.String)) { values = (data.ToString() + "\r\n"); } if (data != null && data.GetType() == typeof(ts_mzys_class.MZHS_FZJL)) { ts_mzys_class.MZHS_FZJL patient = (ts_mzys_class.MZHS_FZJL)data; //设置呼叫列表 Modify By zp 2014-06-14 string zs = patient.roomName; if (_cfg3117.Config.Trim() == "1") { zs = patient.Patzjjc; } values = string.Format("{0}:请{1}号{2}到{3}{4}就诊", DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"), patient.Patdlxh, patient.patName, patient.patGHZKName, zs); if (new SystemCfg(3013).Config == "1") { values = string.Format("{0}:请{1}号{2}到{3}的{4}就诊", DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"), patient.Pdxh, patient.patName, patient.patGHZKName, zs); } } //重新获取未分诊的病人,并将列表送到显示屏 if (refreshScreenDisplay != null) { string rq1 = DateManager.ServerDateTimeByDBType(_DataBase).ToShortDateString() + " 00:00:00"; string rq2 = DateManager.ServerDateTimeByDBType(_DataBase).ToShortDateString() + " 23:59:59"; int klx = 0; string kh = ""; string blh = ""; int sort = 0; int hour = Convert.ToInt32(_DataBase.GetDataResult("select DATEPART(hh, GETDATE())")); //从后台参数获取时间段进行判断 Modify By Zp 2014-02-11 //if (hour >= 8 && hour < 12) // sort = 1; //else if (hour >= 12 && hour < 18) // sort = 2; DataSet ds = MZHS_FZJL.Select_yfzpat(zqid, rq1, rq2, klx, kh, blh, sort, db1); //包含两个内存表1个预约病人列表1个现场病人列表 List <MZHS_FZJL> _list = new List <MZHS_FZJL> (); foreach (DataRow dr in ds.Tables[0].Rows) { MZHS_FZJL fz_br = MZHS_FZJL.DataRowToFZjl(dr); _list.Add(fz_br); } refreshScreenDisplay(data, _list); //传给显示屏已分诊病人信息 } } catch (Exception ea) { throw new Exception("UpdateDisplay函数出现异常!原因:" + ea.Message); } return(values); }
/// <summary> /// 监听端口 有数据传输则刷新显示屏以及语音朗诵 /// </summary> /// <param name="port">端口号</param> public void SocketListen(int port, RelationalDatabase _DataBase, Fz_Zq zq, Socket listener, VoiceHelp _voice, ref Socket socket) { RelationalDatabase db1 = new MsSqlServer(); db1.Initialize(_DataBase.ConnectionString); string rq1 = DateManager.ServerDateTimeByDBType(db1).ToShortDateString() + " 00:00:00"; db1.Close(); db1.Dispose(); RelationalDatabase db2 = new MsSqlServer(); db2.Initialize(_DataBase.ConnectionString); string rq2 = DateManager.ServerDateTimeByDBType(db2).ToShortDateString() + " 23:59:59"; db2.Close(); db2.Dispose(); Hjcs = int.Parse(zq.Zqhjcs); string msg = ""; _voice.InitializeVoiceLib(); _voice.VoiceSpeak(zq.Zqname, ref msg); IPEndPoint address = new IPEndPoint(IPAddress.Any, port); while (true) { try { if (new SystemCfg(3103).Config == "1") { UpdateDisplayDelegate callDisplay = new UpdateDisplayDelegate(UpdateDisplay); callDisplay("正在等待呼叫。。。", zq.Zqid, _DataBase); } if (listener != null) { if (listener.LocalEndPoint == null) { listener.Bind(address); } } listener.Listen(0); socket = listener.Accept(); Stream netStream = new NetworkStream(socket); StreamReader reader = new StreamReader(netStream); string result = reader.ReadToEnd();//收到呼叫的信息 lock (objLockHelper) { ts_mzys_class.MZHS_FZJL p = new ts_mzys_class.MZHS_FZJL(); System.Xml.XmlDocument doc = new System.Xml.XmlDocument(); bool valid = false; try { doc.LoadXml(result); valid = true; } catch { UpdateDisplayDelegate _callDisplay = new UpdateDisplayDelegate(UpdateDisplay); _callDisplay("无效的呼叫信息!", zq.Zqid, _DataBase); } if (valid) { System.Xml.XmlNodeList nodes = doc.GetElementsByTagName("PATIENT")[0].ChildNodes; /*反射生成病人对象*/ foreach (System.Xml.XmlNode node in nodes) { try { System.Reflection.PropertyInfo pi = p.GetType().GetProperty(node.Name); //定义一个属性对象,并且设置类型(需要反射目的对象的某个属性名称) object objValue = Convert.ChangeType(node.InnerText, pi.PropertyType); //通过一个object对象获取属性的值与属性的类型 p.GetType().GetProperty(node.Name).SetValue(p, objValue, null); //对反射对象进行赋值,第一个参数为反射对象,第二参数为反射对象所需的值与类型信息 } catch { continue; } } lstCalledPatient.Insert(0, p); //将当前呼叫的病人发送到显示窗口 if (refreshScreenDisplay != null) { int sort = 0; RelationalDatabase dbTemp = new MsSqlServer(); dbTemp.Initialize(_DataBase.ConnectionString); int hour = Convert.ToInt32(dbTemp.GetDataResult("select DATEPART(hh, GETDATE())")); dbTemp.Close(); dbTemp.Dispose(); if (hour >= 8 && hour <= 12) { sort = 1; } else if (hour > 12 && hour < 18) { sort = 2; } RelationalDatabase dbTemp2 = new MsSqlServer(); dbTemp2.Initialize(_DataBase.ConnectionString); DataSet ds = MZHS_FZJL.Select_yfzpat(zq.Zqid, rq1, rq2, 0, "", "", sort, dbTemp2);//得到最新的候诊列表 dbTemp2.Close(); dbTemp2.Dispose(); List <MZHS_FZJL> _list = new List <MZHS_FZJL>(); foreach (DataRow dr in ds.Tables[0].Rows) { _list.Add(MZHS_FZJL.DataRowToFZjl(dr)); } refreshScreenDisplay(p, _list); } CallPatient(lstCalledPatient); } } } catch (Exception ea) { writelog("SocketListen方法发生错误:" + ea.Message); } } }
public static RelationalDatabase Database(int ybjklx) { string constr = ""; string ssql = "select * from jc_ybjklx where ybjklx=" + ybjklx + " "; DataTable tb = InstanceForm.BDatabase.GetDataTable(ssql); if (tb.Rows.Count == 0) { throw new Exception("没有该接口类型"); } if (Convertor.IsNull(tb.Rows[0]["servername"], "") == "") { throw new Exception("没有设置医保数据库服务器名"); } string servername = Convertor.IsNull(tb.Rows[0]["servername"], ""); string username = Convertor.IsNull(tb.Rows[0]["username"], ""); string password = Convertor.IsNull(tb.Rows[0]["password"], ""); string portname = Convertor.IsNull(tb.Rows[0]["portname"], ""); string dbname = Convertor.IsNull(tb.Rows[0]["dbname"], ""); int dbtype = Convert.ToInt32((tb.Rows[0]["dbtype"])); if (dbtype == 1) { constr = @"packet size=4096;user id=" + username + ";password="******";data source=" + servername + ";persist security info=True;initial catalog=" + dbname; } else if (dbtype == 3) { constr = @"Provider=OraOLEDB.Oracle;Data Source=" + servername + ";User Id=" + username + ";Password="******""; } else { constr = ""; } RelationalDatabase database = null; //连接数据库 if (dbtype == 1) { database = new MsSqlServer(); } if (dbtype == 2) { database = new IbmDb2(); } if (dbtype == 3) { database = new Oracle(); } if (dbtype == 4) { database = new MsAccess(); } //初始化数据库连接 if (database != null) { database.Initialize(constr); } else { throw new Exception("初始化医保数据库时没有成功,连接失败"); } return(database); }
private static void Act(string connString) { MsSqlServer.ExecuteQueryStoreOff(connString); }