MSSQL没有发现其它指定目录(mssql找不到其他目录)

下的所有表

当使用Microsoft SQL Server (MSSQL)时,可能会发现没有发现其他指定目录下的所有表。此问题可能是由于MSSQL处理路径时发生了错误而导致的。本文将介绍如何正确解决这个问题,以便可以发现任何目录下的所有表。

首先,如果你有批处理或T-SQL代码,可以通过使用 xp_cmdshell 命令来将你的代码转换为命令行应用程序。这可以通过如下代码实现:

DECLARE @cmd varchar(8000)

SET @cmd= ‘myprogram.exe -a -b -c’

EXEC xp_cmdshell @cmd

使用 xp_cmdshell 命令后,就可以检测出其他指定目录下的所有表。此外,如果指定的目录中包含T-SQL脚本,可以在运行代码之前,使用 xp_cmdshell 命令来调用它们。

此外,你也可以使用 xp_dirtree 功能来发现其他指定的目录中的表。该功能会对所有子目录进行递归搜索,可以使用如下命令调用:

EXEC xp_dirtree ‘c:\sql’,1,1

xp_dirtree 功能可以搜索指定的目录中的文件,检测到.sql 和.tbl表格文件,然后返回文件大小和日期。该功能还可以检测出.tbl文件,其中包含有效的T-SQL代码。

另一个可以使用的功能是 xp_subdirs函数。它会搜索指定目录的子目录,并返回子目录路径列表。该函数可以用以下命令调用:

EXEC xp_subdirs ‘c:\sql’

使用此函数后,可以使用T-SQL的 SELECT 和 FROM 关键字,遍历该路径,以发现其他指定目录下的表。

另外,还可以使用 sp_tables_ex 以系统存储过程的形式,来检测任何数据库或目录下的所有表。该系统存储过程可以使用下面的代码调用:

EXEC sp_tables_ex ‘dbname’, ‘table_name’

使用该系统存储过程,可以确定数据库中是否存在特定的表,以及表中包含有多少列。

通过以上介绍,我们可以看出MSSQL没有发现其他指定目录下的所有表的问题,可以通过使用 xp_cmdshell、xp_dirtree、xp_subdirs 和 sp_tables_ex 系统存储过程等方法解决。总之,如果正确使用上述功能,就可以检测出指定目录下的所有表,而不会发生错误。


数据运维技术 » MSSQL没有发现其它指定目录(mssql找不到其他目录)