【发布时间】:2016-12-10 18:05:37
【问题描述】:
我一直在用 C#.Net winforms 开发一个管理系统。 我需要通过 LAN 使用集中式数据库。
场景:
我必须进行一些检查,如果有人想将我的软件复制到另一台计算机上,他将无法在另一台计算机上运行它,因为我会给我的客户软件,他们会运行它,一切都会通过向导进行配置。
之前的解决方法:
之前,我将本地机器的 MAC 地址存储在数据库中,但问题是当我需要将多台计算机连接到同一个数据库时,每台计算机都有自己的 MAC 地址.
我的看法:
所以,我认为在第一次运行软件时,我应该在数据库中保存一些独特的东西,例如已安装 SQL Server 的 net_address,以便任何客户端都可以连接到数据库,并且数据库应该获得 SQL Server 的 net_address。这也导致了一个问题,即当我重置我的 wifi 时,net_address 发生了变化。因此 SQL 无法识别最后保存的 net_address 地址,因为它一直在变化。
问题:
现在我需要一些想法如何解决它?我必须得到一些独特的东西,以便将来检查机器的 MAC 地址是否与安装它的机器相同!欢迎许多想法。
【问题讨论】:
-
可能使用本地机器的硬盘序列号。应该足够独特吗?
-
@urlreader 但问题是我如何在 sql 中访问硬件?如果我能找到安装 SQL Server 的机器的 MAC 地址就足够了
-
如果升级网卡后软件无法运行,您的客户可能会不高兴。
-
@MartinSmith 是的,这就是为什么我需要一些 SQL 中的硬件信息,它可以是安装了 SQL Server 的计算机的 MAC 地址。有什么解决办法吗?
标签: c# sql sql-server