You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
110 lines
2.7 KiB
C#
110 lines
2.7 KiB
C#
using System;
|
|
using System.Collections.Generic;
|
|
using System.Text;
|
|
using ICSharpCode.Data.Core.DatabaseObjects;
|
|
using ICSharpCode.Data.Core.Interfaces;
|
|
using MySql.Data.MySqlClient;
|
|
|
|
namespace ICSharpCode.Data.Core.DatabaseDrivers.MySQL
|
|
{
|
|
public class MySQLDatasource : Datasource
|
|
{
|
|
#region Fields
|
|
|
|
//private MySQLrControlPanel _controlPanel = null;
|
|
|
|
#endregion
|
|
|
|
#region Properties
|
|
|
|
public string Server
|
|
{
|
|
get
|
|
{
|
|
//get的值!=set的值
|
|
return GetConnectionStringSetting( "Data Source" );
|
|
}
|
|
set
|
|
{
|
|
SetConnectionStringSetting( "Data Source" , value.Replace(":",";Port=") );
|
|
OnPropertyChanged( "Data Source" );
|
|
}
|
|
}
|
|
|
|
public string UserId
|
|
{
|
|
get
|
|
{
|
|
return GetConnectionStringSetting( "User Id" );
|
|
}
|
|
set
|
|
{
|
|
SetConnectionStringSetting( "User Id" , value );
|
|
OnPropertyChanged( "UserId" );
|
|
}
|
|
}
|
|
|
|
public string Password
|
|
{
|
|
get
|
|
{
|
|
return GetConnectionStringSetting( "Password" );
|
|
}
|
|
set
|
|
{
|
|
SetConnectionStringSetting( "Password" , value );
|
|
OnPropertyChanged( "Password" );
|
|
}
|
|
}
|
|
|
|
//public bool IntegratedSecurity
|
|
//{
|
|
|
|
//}
|
|
|
|
public string InitialCatalog
|
|
{
|
|
get
|
|
{
|
|
return GetConnectionStringSetting( "Initial Catalog" , "INFORMATION_SCHEMA" );
|
|
}
|
|
set
|
|
{
|
|
SetConnectionStringSetting( "Initial Catalog" , value );
|
|
OnPropertyChanged( "Initial Catalog" );
|
|
}
|
|
}
|
|
|
|
#endregion
|
|
|
|
#region Constructor
|
|
|
|
public MySQLDatasource(IDatabaseDriver databaseDriver)
|
|
: base(databaseDriver)
|
|
{
|
|
|
|
}
|
|
|
|
#endregion
|
|
|
|
#region Methods
|
|
|
|
protected override bool HandlePopulateDatabasesException( Exception exception )
|
|
{
|
|
if ( exception is NotSupportedException )
|
|
{
|
|
DatabaseDriver.RemoveDatasource( Name );
|
|
ICSharpCode.Core.LoggingService.Error("尝试填充数据库失败。\n\n" + exception.Message);
|
|
//MessageBox.Show( "Error while trying to populate databases.\n\n" + exception.Message , DatabaseDriver.Name , MessageBoxButtons.OK , MessageBoxIcon.Exclamation );
|
|
return false;
|
|
}
|
|
else
|
|
{
|
|
throw exception;
|
|
}
|
|
}
|
|
|
|
#endregion
|
|
}
|
|
}
|