{"id":304,"date":"2024-02-02T08:59:00","date_gmt":"2024-02-02T13:59:00","guid":{"rendered":"https:\/\/www.sqltabletalk.com\/?p=304"},"modified":"2024-02-02T17:36:12","modified_gmt":"2024-02-02T22:36:12","slug":"leveraging-c-within-powershell-for-advanced-etl-operations-on-sql-server","status":"publish","type":"post","link":"https:\/\/www.sqltabletalk.com\/?p=304","title":{"rendered":"Leveraging C# within PowerShell for Advanced ETL Operations in SQL Server"},"content":{"rendered":"<h2>Introduction<\/h2>\n<p>The ability to efficiently perform Extract, Transform, Load (ETL) operations is essential for database administrators and developers, particularly those working with data warehouses and others with large data transformation. While PowerShell is a powerful tool in its own right for database management, embedding C# within PowerShell scripts can significantly enhance your ETL processes. This blog post will guide you through a practical example of using C# code within a PowerShell script to perform ETL operations on SQL Server tables. We&#8217;ll start with extracting data from a SQL Server, followed by transforming it using C#, and finally, loading it back into a different table.<\/p>\n<h2>Step 1: Extract Data from SQL Server<\/h2>\n<p>Our first step in the ETL process is to extract data from the SQL Server. This phase involves using standard PowerShell code to establish a connection with the SQL Server and retrieve the necessary data. Here&#8217;s how you can do it:<\/p>\n<pre class=\"code-block\">$connectionString = \"Server=your_server;Database=your_database;Integrated Security=True;\"\n$query = \"SELECT * FROM SourceTable;\"\n\n$connection = New-Object System.Data.SqlClient.SqlConnection\n$connection.ConnectionString = $connectionString\n$connection.Open()\n$command = $connection.CreateCommand()\n$command.CommandText = $query\n$adapter = New-Object System.Data.SqlClient.SqlDataAdapter $command\n$dataSet = New-Object System.Data.DataSet\n$adapter.Fill($dataSet)\n$connection.Close()\n<\/pre>\n<p>The script starts by defining the connection string to your SQL Server and prepares a SQL query to fetch the data. The <code>New-Object System.Data.SqlClient.SqlConnection<\/code> and subsequent lines are used to establish the connection and execute the query.<\/p>\n<h2>Step 2: Transform Data Using C#<\/h2>\n<p>After extracting the data, the next step in our ETL process is to transform it. This is where we leverage the power of C# within our PowerShell script. PowerShell&#8217;s <code>Add-Type<\/code> cmdlet allows us to embed C# code, offering us more sophisticated data manipulation capabilities. Here&#8217;s an example:<\/p>\n<pre class=\"code-block\">Add-Type -TypeDefinition \"@\nusing System;\nusing System.Data;\nusing System.Xml.Serialization;\npublic class DataTransformer\n{\n    public static DataTable TransformData(DataTable dt)\n    {\n        string colName1 = \"Column1\";\n        string colName2 = \"Column2\";\n\n        if (!dt.Columns.Contains(colName1) || !dt.Columns.Contains(colName2))\n        {\n            throw new ArgumentException(\"Specified columns do not exist in the DataTable\");\n        }\n\n        dt.Columns.Add(\"NewColumn\", typeof(string));\n        foreach (DataRow row in dt.Rows)\n        {\n            row[\"NewColumn\"] = row[colName1].ToString() + row[colName2].ToString();\n        }\n        return dt;\n    }\n}\n\"@ -ReferencedAssemblies \"System.Data\", \"System.Xml\"\n\ntry {\n    $transformedData = [DataTransformer]::TransformData($dataSet.Tables[0])\n} catch {\n    Write-Error \"Error in data transformation: $_\"\n    return\n}\n<\/pre>\n<p>This script defines a C# class <code>DataTransformer<\/code> with a static method <code>TransformData<\/code>. This method performs the transformation by iterating through each DataRow and modifying or adding new columns as necessary.<\/p>\n<h2>Step 3: Load Transformed Data Back into SQL Server<\/h2>\n<p>The final step in our ETL process involves loading the transformed data back into a different table in the SQL Server. This step utilizes PowerShell&#8217;s capabilities to handle SQL Server operations efficiently. Here&#8217;s the script for this step:<\/p>\n<pre class=\"code-block\">$bulkCopy = New-Object Data.SqlClient.SqlBulkCopy($connectionString, [System.Data.SqlClient.SqlBulkCopyOptions]::KeepIdentity)\n$bulkCopy.DestinationTableName = \"DestinationTable\"\n$connection.Open()\n\nif ($transformedData -is [System.Data.DataTable]) {\n    $bulkCopy.WriteToServer($transformedData)\n} else {\n    Write-Error \"Transformed data is not in the correct format for bulk copy.\"\n}\n\n$connection.Close()\n<\/pre>\n<p>The <code>SqlBulkCopy<\/code> class is used to perform a bulk data load into the SQL Server. The script creates a new instance of <code>SqlBulkCopy<\/code>, specifies the destination table, and then loads the transformed data using the <code>WriteToServer<\/code> method.<\/p>\n<h2>Conclusion<\/h2>\n<p>In this blog we&#8217;ve explored how to effectively combine PowerShell and C# to perform advanced ETL tasks on SQL Server. By leveraging PowerShell for data extraction and loading, and C# for complex data transformations, we can create powerful and efficient data processing workflows. This approach is particularly useful for SQL DBAs and developers looking to enhance their data handling capabilities beyond what&#8217;s possible with standard SQL tools. Remember, while this example provides a basic framework, real-world applications may require additional error handling, optimization, and customization to fit specific needs.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>The ability to efficiently perform Extract, Transform, Load (ETL) operations is essential for database administrators and developers, particularly those working with data warehouses and others with large data transformation. While PowerShell is a powerful tool in its own right for database management, embedding C# within PowerShell scripts can significantly enhance your ETL processes. This blog post will guide you through a practical example of using C# code within a PowerShell script to perform ETL operations on SQL Server tables. We&#8217;ll start with extracting data from a SQL Server, followed by transforming it using C#, and finally, loading it back into a different table.<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"jetpack_post_was_ever_published":false,"_jetpack_newsletter_access":"","_jetpack_dont_email_post_to_subs":false,"_jetpack_newsletter_tier_id":0,"_jetpack_memberships_contains_paywalled_content":false,"_jetpack_memberships_contains_paid_content":false,"footnotes":""},"categories":[55,87,53,84,21],"tags":[85,56,86,57],"class_list":["post-304","post","type-post","status-publish","format-standard","hentry","category-automation","category-etl","category-powershell","category-sql-developer","category-tutorial","tag-etl","tag-maintenance","tag-powershell","tag-scripting"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.1.1 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Leveraging C# within PowerShell for Advanced ETL Operations in SQL Server - SQL Table Talk<\/title>\n<meta name=\"description\" content=\"The ability to efficiently perform Extract, Transform, Load (ETL) operations is essential for database administrators and developers, particularly those working with data warehouses and others with large data transformation. While PowerShell is a powerful tool in its own right for database management, embedding C# within PowerShell scripts can significantly enhance your ETL processes. This blog post will guide you through a practical example of using C# code within a PowerShell script to perform ETL operations on SQL Server tables. We&#039;ll start with extracting data from a SQL Server, followed by transforming it using C#, and finally, loading it back into a different table.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.sqltabletalk.com\/?p=304\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Leveraging C# within PowerShell for Advanced ETL Operations in SQL Server - SQL Table Talk\" \/>\n<meta property=\"og:description\" content=\"The ability to efficiently perform Extract, Transform, Load (ETL) operations is essential for database administrators and developers, particularly those working with data warehouses and others with large data transformation. While PowerShell is a powerful tool in its own right for database management, embedding C# within PowerShell scripts can significantly enhance your ETL processes. This blog post will guide you through a practical example of using C# code within a PowerShell script to perform ETL operations on SQL Server tables. We&#039;ll start with extracting data from a SQL Server, followed by transforming it using C#, and finally, loading it back into a different table.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.sqltabletalk.com\/?p=304\" \/>\n<meta property=\"og:site_name\" content=\"SQL Table Talk\" \/>\n<meta property=\"article:published_time\" content=\"2024-02-02T13:59:00+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2024-02-02T22:36:12+00:00\" \/>\n<meta name=\"author\" content=\"Stephen Planck\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Stephen Planck\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"2 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/www.sqltabletalk.com\/?p=304#article\",\"isPartOf\":{\"@id\":\"https:\/\/www.sqltabletalk.com\/?p=304\"},\"author\":{\"name\":\"Stephen Planck\",\"@id\":\"https:\/\/www.sqltabletalk.com\/#\/schema\/person\/1947e42a9438bccd91691d8b791888e0\"},\"headline\":\"Leveraging C# within PowerShell for Advanced ETL Operations in SQL Server\",\"datePublished\":\"2024-02-02T13:59:00+00:00\",\"dateModified\":\"2024-02-02T22:36:12+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/www.sqltabletalk.com\/?p=304\"},\"wordCount\":446,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/www.sqltabletalk.com\/#\/schema\/person\/1947e42a9438bccd91691d8b791888e0\"},\"keywords\":[\"ETL\",\"maintenance\",\"powershell\",\"scripting\"],\"articleSection\":[\"Automation\",\"ETL\",\"PowerShell\",\"SQL Developer\",\"Tutorial\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/www.sqltabletalk.com\/?p=304#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.sqltabletalk.com\/?p=304\",\"url\":\"https:\/\/www.sqltabletalk.com\/?p=304\",\"name\":\"Leveraging C# within PowerShell for Advanced ETL Operations in SQL Server - SQL Table Talk\",\"isPartOf\":{\"@id\":\"https:\/\/www.sqltabletalk.com\/#website\"},\"datePublished\":\"2024-02-02T13:59:00+00:00\",\"dateModified\":\"2024-02-02T22:36:12+00:00\",\"description\":\"The ability to efficiently perform Extract, Transform, Load (ETL) operations is essential for database administrators and developers, particularly those working with data warehouses and others with large data transformation. While PowerShell is a powerful tool in its own right for database management, embedding C# within PowerShell scripts can significantly enhance your ETL processes. This blog post will guide you through a practical example of using C# code within a PowerShell script to perform ETL operations on SQL Server tables. We'll start with extracting data from a SQL Server, followed by transforming it using C#, and finally, loading it back into a different table.\",\"breadcrumb\":{\"@id\":\"https:\/\/www.sqltabletalk.com\/?p=304#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.sqltabletalk.com\/?p=304\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/www.sqltabletalk.com\/?p=304#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/www.sqltabletalk.com\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Leveraging C# within PowerShell for Advanced ETL Operations in SQL Server\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/www.sqltabletalk.com\/#website\",\"url\":\"https:\/\/www.sqltabletalk.com\/\",\"name\":\"SQL Table Talk\",\"description\":\"Breaking Down SQL Server, One Post at a Time.\",\"publisher\":{\"@id\":\"https:\/\/www.sqltabletalk.com\/#\/schema\/person\/1947e42a9438bccd91691d8b791888e0\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/www.sqltabletalk.com\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":[\"Person\",\"Organization\"],\"@id\":\"https:\/\/www.sqltabletalk.com\/#\/schema\/person\/1947e42a9438bccd91691d8b791888e0\",\"name\":\"Stephen Planck\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.sqltabletalk.com\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/64181114edc3de3d99072c049bcec024f025c9536dc89fc8ff1bac58976ca81e?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/64181114edc3de3d99072c049bcec024f025c9536dc89fc8ff1bac58976ca81e?s=96&d=mm&r=g\",\"caption\":\"Stephen Planck\"},\"logo\":{\"@id\":\"https:\/\/www.sqltabletalk.com\/#\/schema\/person\/image\/\"},\"sameAs\":[\"https:\/\/dexterwiki.com\",\"https:\/\/www.linkedin.com\/in\/stephen-planck-4611b692?trk=people-guest_people_search-card&challengeId=AQErf8gbBmcVMwAAAYsyIsxO-0UvU8z7cHrBpZoo_n3xt9qEKpRN5B_jd_LmAMu-OfeArkQ7GDjobJ2uRoQQV35EQdh_rR6kxA&submissionId=09de7067-c335-8e17-40b8-8dc32b60ed6c&challengeSource=AgEcUCw35zpPmAAAAYsyI4vAWhJTV7Nt4vZYKc3V1qiDBpCkKgUvtlOBgYXcE84&challegeType=AgE_wZiTT09IAQAAAYsyI4vDmNvbZIYe6XHju5V2bXVvM3IVxnJslgY&memberId=AgESFTkUShzs_gAAAYsyI4vGYk0Gic1uc5kB6cKOABA26Gw&recognizeDevice=AgHdSZyUSI5CEwAAAYsyI4vKd_koF9JgpsCJShT8QfbK1QMiv8SI\",\"https:\/\/www.youtube.com\/linuxmate\"],\"url\":\"https:\/\/www.sqltabletalk.com\/?author=1\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Leveraging C# within PowerShell for Advanced ETL Operations in SQL Server - SQL Table Talk","description":"The ability to efficiently perform Extract, Transform, Load (ETL) operations is essential for database administrators and developers, particularly those working with data warehouses and others with large data transformation. While PowerShell is a powerful tool in its own right for database management, embedding C# within PowerShell scripts can significantly enhance your ETL processes. This blog post will guide you through a practical example of using C# code within a PowerShell script to perform ETL operations on SQL Server tables. We'll start with extracting data from a SQL Server, followed by transforming it using C#, and finally, loading it back into a different table.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.sqltabletalk.com\/?p=304","og_locale":"en_US","og_type":"article","og_title":"Leveraging C# within PowerShell for Advanced ETL Operations in SQL Server - SQL Table Talk","og_description":"The ability to efficiently perform Extract, Transform, Load (ETL) operations is essential for database administrators and developers, particularly those working with data warehouses and others with large data transformation. While PowerShell is a powerful tool in its own right for database management, embedding C# within PowerShell scripts can significantly enhance your ETL processes. This blog post will guide you through a practical example of using C# code within a PowerShell script to perform ETL operations on SQL Server tables. We'll start with extracting data from a SQL Server, followed by transforming it using C#, and finally, loading it back into a different table.","og_url":"https:\/\/www.sqltabletalk.com\/?p=304","og_site_name":"SQL Table Talk","article_published_time":"2024-02-02T13:59:00+00:00","article_modified_time":"2024-02-02T22:36:12+00:00","author":"Stephen Planck","twitter_card":"summary_large_image","twitter_misc":{"Written by":"Stephen Planck","Est. reading time":"2 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.sqltabletalk.com\/?p=304#article","isPartOf":{"@id":"https:\/\/www.sqltabletalk.com\/?p=304"},"author":{"name":"Stephen Planck","@id":"https:\/\/www.sqltabletalk.com\/#\/schema\/person\/1947e42a9438bccd91691d8b791888e0"},"headline":"Leveraging C# within PowerShell for Advanced ETL Operations in SQL Server","datePublished":"2024-02-02T13:59:00+00:00","dateModified":"2024-02-02T22:36:12+00:00","mainEntityOfPage":{"@id":"https:\/\/www.sqltabletalk.com\/?p=304"},"wordCount":446,"commentCount":0,"publisher":{"@id":"https:\/\/www.sqltabletalk.com\/#\/schema\/person\/1947e42a9438bccd91691d8b791888e0"},"keywords":["ETL","maintenance","powershell","scripting"],"articleSection":["Automation","ETL","PowerShell","SQL Developer","Tutorial"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/www.sqltabletalk.com\/?p=304#respond"]}]},{"@type":"WebPage","@id":"https:\/\/www.sqltabletalk.com\/?p=304","url":"https:\/\/www.sqltabletalk.com\/?p=304","name":"Leveraging C# within PowerShell for Advanced ETL Operations in SQL Server - SQL Table Talk","isPartOf":{"@id":"https:\/\/www.sqltabletalk.com\/#website"},"datePublished":"2024-02-02T13:59:00+00:00","dateModified":"2024-02-02T22:36:12+00:00","description":"The ability to efficiently perform Extract, Transform, Load (ETL) operations is essential for database administrators and developers, particularly those working with data warehouses and others with large data transformation. While PowerShell is a powerful tool in its own right for database management, embedding C# within PowerShell scripts can significantly enhance your ETL processes. This blog post will guide you through a practical example of using C# code within a PowerShell script to perform ETL operations on SQL Server tables. We'll start with extracting data from a SQL Server, followed by transforming it using C#, and finally, loading it back into a different table.","breadcrumb":{"@id":"https:\/\/www.sqltabletalk.com\/?p=304#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.sqltabletalk.com\/?p=304"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/www.sqltabletalk.com\/?p=304#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.sqltabletalk.com\/"},{"@type":"ListItem","position":2,"name":"Leveraging C# within PowerShell for Advanced ETL Operations in SQL Server"}]},{"@type":"WebSite","@id":"https:\/\/www.sqltabletalk.com\/#website","url":"https:\/\/www.sqltabletalk.com\/","name":"SQL Table Talk","description":"Breaking Down SQL Server, One Post at a Time.","publisher":{"@id":"https:\/\/www.sqltabletalk.com\/#\/schema\/person\/1947e42a9438bccd91691d8b791888e0"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.sqltabletalk.com\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":["Person","Organization"],"@id":"https:\/\/www.sqltabletalk.com\/#\/schema\/person\/1947e42a9438bccd91691d8b791888e0","name":"Stephen Planck","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.sqltabletalk.com\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/64181114edc3de3d99072c049bcec024f025c9536dc89fc8ff1bac58976ca81e?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/64181114edc3de3d99072c049bcec024f025c9536dc89fc8ff1bac58976ca81e?s=96&d=mm&r=g","caption":"Stephen Planck"},"logo":{"@id":"https:\/\/www.sqltabletalk.com\/#\/schema\/person\/image\/"},"sameAs":["https:\/\/dexterwiki.com","https:\/\/www.linkedin.com\/in\/stephen-planck-4611b692?trk=people-guest_people_search-card&challengeId=AQErf8gbBmcVMwAAAYsyIsxO-0UvU8z7cHrBpZoo_n3xt9qEKpRN5B_jd_LmAMu-OfeArkQ7GDjobJ2uRoQQV35EQdh_rR6kxA&submissionId=09de7067-c335-8e17-40b8-8dc32b60ed6c&challengeSource=AgEcUCw35zpPmAAAAYsyI4vAWhJTV7Nt4vZYKc3V1qiDBpCkKgUvtlOBgYXcE84&challegeType=AgE_wZiTT09IAQAAAYsyI4vDmNvbZIYe6XHju5V2bXVvM3IVxnJslgY&memberId=AgESFTkUShzs_gAAAYsyI4vGYk0Gic1uc5kB6cKOABA26Gw&recognizeDevice=AgHdSZyUSI5CEwAAAYsyI4vKd_koF9JgpsCJShT8QfbK1QMiv8SI","https:\/\/www.youtube.com\/linuxmate"],"url":"https:\/\/www.sqltabletalk.com\/?author=1"}]}},"jetpack_featured_media_url":"","jetpack-related-posts":[],"jetpack_sharing_enabled":true,"jetpack_likes_enabled":true,"_links":{"self":[{"href":"https:\/\/www.sqltabletalk.com\/index.php?rest_route=\/wp\/v2\/posts\/304","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.sqltabletalk.com\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.sqltabletalk.com\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.sqltabletalk.com\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.sqltabletalk.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=304"}],"version-history":[{"count":2,"href":"https:\/\/www.sqltabletalk.com\/index.php?rest_route=\/wp\/v2\/posts\/304\/revisions"}],"predecessor-version":[{"id":307,"href":"https:\/\/www.sqltabletalk.com\/index.php?rest_route=\/wp\/v2\/posts\/304\/revisions\/307"}],"wp:attachment":[{"href":"https:\/\/www.sqltabletalk.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=304"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.sqltabletalk.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=304"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.sqltabletalk.com\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=304"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}