我正在尝试在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