如何在不使用批量的情况下从 SQL 中的文件夹中读取多个 JSON 文件



我正在尝试在SQL中读取多个JSON文件。我没有批量权限,正在使用 DbVisualizer。我目前必须复制并粘贴每个文件。有没有办法读取 400 多个不同名称的文件。

Declare @json nvarchar(Max)
Set @json = '{
"AudioFileResults": [
{
"AudioFileName": "test"
}]}'

像这样的 powershell 脚本:


$files = Get-ChildItem -Path "c:temp400jsons*.json"
$beforeSql = Get-Content -Path "c:temp400jsonsbefore.sql" -Raw
$afterSql = Get-Content -Path "c:temp400jsonsafter.sql" -Raw
$sql = "declare @json nvarchar(max);`r`n"
foreach ($f in $files){
$sql += $beforeSql 
$sql += Get-Content $f.FullName -Raw
$sql += $afterSql + "`r`n"
}
Set-Content -Path "C:temp400jsonsout.sql" -Value $sql

将读取如下before.sql脚本:

set @json = '

还有这样的after.sql脚本:

';
insert into tableX values(@json);

然后反复读取文件夹中的成百上千个 json 文件,构建一个一遍又一遍before + json + after的字符串,最终写入如下所示的文件out.sql

declare @json nvarchar(max);
set @json = '{ "my":"json1" }';
insert into tableX values(@json);
set @json = '{ "my":"json2" }';
insert into tableX values(@json);

您可以将其复制并粘贴到DBV中并运行。它基本上是你的 400 个 json 连接成一个文件,其中有一些 sql 在

当然,您仍然必须创建之前和之后的文件才能正确使用您实际想要运行的 SQL

相关内容

  • 没有找到相关文章

最新更新