1

我遇到了真正的砖墙,试图连接到动态数据库。我不知道如何实现这一点,

这是我的过程,我有一个应用程序,它需要适应工作环境的变化,比如说如果工作场所服务器崩溃并且他们创建了一个新数据库,其名称db_new是应用程序将连接到的名称而不是旧数据库名称.

我已经有一个窗口,可以在列表框中显示来自服务器的数据库,用户可以在其中指定要用于应用程序的数据库。但问题是,如何保存选定的数据库名称,以便在选择新数据库后可以运行?..

管理员应该能够在必要时更改应用程序使用的数据库,并且应用程序应该继续使用该选定的数据库,直到管理员将其更改回新数据库。

如果问题有点含糊,请原谅,我只是以最好的方式把它放在一起,对此的任何帮助都会非常棒:)

编辑:

而且我不能使用文本文件或 xml 作为应用程序使用的数据库名称,应该以安全的方式存储。:)

4

2 回答 2

1

首先,您可以非常轻松地使用文本或 XML 文件:如果您将信息存储在用户无法下载的文件中(正如我假设的那样),这将尽可能安全:如果有人设法闯入服务器并读取文件,那么游戏就结束了。

也就是说,我建议您使用 MySQL 代理或类似机制并将您的 WebApp 指向它 - 然后可以在代理层处理故障转移到另一个数据库或更改底层数据库,而 WebApp 甚至都不知道它:功能需要不是你的应用程序的一部分,在我的书中它不应该。

于 2012-09-16T12:27:11.557 回答
0

您还没有告诉我们您使用的语言。因此,我们无法提供非常好的建议。

我的第一个想法:

如果这是 PHP,你可以让通用应用程序使用类似的东西,

$db->execute('sql statement here');

然后让管理员在需要时更改当前的 $db。这样 $db->e​​xecute() 将始终在“当前”数据库上执行。

编辑:这在 C# 中应该仍然有效。如果您有使用数据库的函数调用一个作为当前数据库连接的变量,那么您应该能够在需要时将数据库连接更改为正确的数据库,而其余部分继续运行,因为它只是同一个变量。

于 2012-09-16T12:15:02.207 回答