我一直在拼命地寻找一种方法来通知客户端数据库中的更改。
我尝试了TableDependency包,但是注意到它使用的是SQL,而不是MYSQL。我无意中发现了德瓦特,他们也有同样的想法。我已经安装了这个包,并设置了一些代码来测试当数据库中发生更改时,它是否实际收到通知。但是,当我尝试运行它时,它会返回一个例外:
Devart.Common.LicenseException:“不支持特性。
下面是我用于测试的代码:
namespace WpfApp2
{
/// <summary>
/// Interaction logic for MainWindow.xaml
/// </summary>
public partial class MainWindow : Window
{
public string connectionString = @"server=198.23.60.117;user=*******;database=*******;password=*******";
public MainWindow()
{
InitializeComponent();
}
private void Button_Click(object sender, RoutedEventArgs e)
{
Devart.Data.MySql.MySqlConnection DependencyConn = new Devart.Data.MySql.MySqlConnection(connectionString);
Devart.Data.MySql.MySqlCommand FriendsDependencyCommand = new Devart.Data.MySql.MySqlCommand("SELECT user_two FROM friends WHERE user_one=@username", DependencyConn);
MySqlDependency dependency = new MySqlDependency(FriendsDependencyCommand, 100);
dependency.OnChange += new OnChangeEventHandler(dependency_OnChange);
DependencyConn.Open();
MySqlDependency.Start(connectionString);
}
void dependency_OnChange(object sender, Devart.Data.MySql.MySqlTableChangeEventArgs e)
{
MessageBox.Show("Database Changes Detected.");
}
}
public class Customer
{
public string Username { get; set; }
}
}我应该拥有所需的依赖关系--我使用NuGet包管理器安装了包。
有什么线索吗?我真的很感激。
发布于 2018-03-01 11:02:44
dotConnect用于MySQL的当前实现包括两个版本的程序集:
1)安装时附带的.NET Framework .*程序集:
*程序集创建于C:\Program (x86)\Devart\dotConnect/MySQL\ (默认情况下)*许可方法在https://www.devart.com/dotconnect/mysql/docs/?Licensing.html中描述。
2) .NET标准(.NET核心) Devart.*程序集,可通过NuGet获得:
*您可以从*许可方法下载包,请参见https://www.devart.com/dotconnect/mysql/docs/?LicensingStandard.html
"Devart.Common.LicenseException:‘功能不受支持。’“错误意味着运行时找不到.NET标准Devart.*程序集的许可证文件(或许可键连接字符串参数)。请参阅https://www.devart.com/dotconnect/mysql/docs/?LicensingStandard.html。
https://stackoverflow.com/questions/49031541
复制相似问题