How to Convert a SQL Server Backup (.BAK) File into CSV for a Specified Table

SQL Databases can hold an enormous volume of data — and SQL Backup (.BAK) files aren’t too shabby themselves.

Converting all data in a .BAK file to a new format at once will require some maneuvering, but selectively converting tables within those .BAK files will instead reduce the burden of the operation, making it possible to extract & convert only the information you need right now. Our SQL .BAK Table to CSV API will make it easy to extract only the data you need and convert it to CSV format automatically, thereby increasing the efficiency of your data extraction task. This API is really simple & easy to use — you only need to supply your target table’s name & .BAK file path, and the API will return the encoding for your subsequent CSV file. That’s all there is to it.

The best part is you can use this API for free: you just need to register a free account on our website & use your free-tier API key to authenticate the API call (this key is valid for up to 800 API calls per month; perfect for small-scale projects & startups). In the remainder of this article, I’ll demonstrate how to use ready-to-run Java code examples to structure your API call.

To begin installing the API client, we first need to add a reference to the repository in pom.xml:

<repositories>
<repository>
<id>jitpack.io</id>
<url>https://jitpack.io</url>
</repository>
</repositories>

After that, we need to add a reference to the dependency in pom.xml:

<dependencies>
<dependency>
<groupId>com.github.Cloudmersive</groupId>
<artifactId>Cloudmersive.APIClient.Java</artifactId>
<version>v4.25</version>
</dependency>
</dependencies>

With installation complete, we can now call the function, beginning by adding the imports to the top of our file:

// Import classes:
//import com.cloudmersive.client.invoker.ApiClient;
//import com.cloudmersive.client.invoker.ApiException;
//import com.cloudmersive.client.invoker.Configuration;
//import com.cloudmersive.client.invoker.auth.*;
//import com.cloudmersive.client.BackupConvertApi;

And then passing our table name, input file path & free API key through the specified fields:

ApiClient defaultClient = Configuration.getDefaultApiClient();// Configure API key authorization: Apikey
ApiKeyAuth Apikey = (ApiKeyAuth) defaultClient.getAuthentication("Apikey");
Apikey.setApiKey("YOUR API KEY");
// Uncomment the following line to set a prefix for the API key, e.g. "Token" (defaults to null)
//Apikey.setApiKeyPrefix("Token");
BackupConvertApi apiInstance = new BackupConvertApi();
String tableName = "tableName_example"; // String | Name of the table to return
File inputFile = new File("/path/to/inputfile"); // File | Input file to perform the operation on
try {
byte[] result = apiInstance.dataintegrationBackupConvertMssqlBakToCsvPost(tableName, inputFile);
System.out.println(result);
} catch (ApiException e) {
System.err.println("Exception when calling BackupConvertApi#dataintegrationBackupConvertMssqlBakToCsvPost");
e.printStackTrace();
}

After that, you’re all done — no more code required. Nice and easy!

--

--

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store
Cloudmersive

Cloudmersive

436 Followers

There’s an API for that. Cloudmersive is a leader in Highly Scalable Cloud APIs.