SQL 使用独立数据库的服务器

SQL Server working with unattached databases

我正在开发一个 Visual FoxPro 应用程序,它需要与未连接的 SQL 服务器数据库进行交互。我知道 mdf 文件的位置。它属于与数据库一起工作的应用程序。如果我将 mdf 附加到一个实例,它所属的应用程序将不起作用。

所以,我基本上需要做的是暂时将数据库附加到一个实例,使用它然后取消附加。这一切都在程序控制下。

附加部分我已经搞定了。如果我使用 SQL Server 的用户实例(我使用的是 2008 express),我可以在连接字符串中指定 mdf 的名称,然后它附加到用户实例。我还没有解决的是如何在程序控制下取消附加它。如果在我关闭连接时实例的附件会消失,那就太好了。

这可能吗?我用谷歌搜索了它,但我还没有找到一种方法来做到这一点。

提前致谢...

如果你在 master 中并且有正确的权限(可能必须是 SA)你可以执行这个:

use master;
go

EXEC MASTER.dbo.sp_detach_db @dbname = N'Name of DB',
@keepfulltextindexfile = N'true'
GO

对于 'talk' 到 SQL 服务器数据库表的 VFP 应用程序,您需要创建到 SQL 服务器数据库的 ODBC 连接。

请记住,VFP 是一个 32 位应用程序,因此您的 ODBC 连接需要在 %systemdrive%\Windows\SysWoW64 目录和 Odbcad32.exe申请。

或者,您可以使用 VFP 命令设置 'on-the-fly' 连接。
参见:https://www.google.com/search?q=32bit+odbc+connection+&ie=utf-8&oe=utf-8#q=vfp+connection+string+sql+server

建立连接后,您可以运行 SQL查询所需的数据表:
1.获取数据
2.更新数据
3.删除数据
4.等等

祝你好运