چند روز پیش لازم بود تا به `SQL Server` وصل بشیم و چندتا دامپ بگیریم از دیتابیس و خب ساده‌ترین و سربعترین راه برای گرفتن دامپ‌ها نوشتن کد با جاوا بود، پس کد نوشتیم براش. برای وصل شدن به `SQL Server` باید درایور `JDBC` اون رو دانلود رو توی `Class Path` جاوا قرار بدیم. برای دانبود درایور کافیه سرچ کنید sqljdbc4.jar. لینک اول دانلود درایور است. اجازه بدید حرف‌های اصلی رو از زبون خود جاوا بشنویم

``` import java.sql.*; import java.io.*;

public class SQL2CSV{

public SQL2CSV() {
try {
Connection conn = this.dbConnect("jdbc:sqlserver://SERVER:PORT", "USER", "PASSWORD" );
Statement stmt = conn.createStatement();
ResultSet rs = stmt.executeQuery("SELECT * FROM TABLE");
convertToCsv("EXPORT_CSV_FILE_PATH", rs);
rs.close();
stmt.close();
conn.close();
} catch( Exception e ){
e.printStackTrace();
}
}

public Connection dbConnect( String db_connect_string,
String db_userid,
String db_password){
try {
Class.forName( "com.microsoft.sqlserver.jdbc.SQLServerDriver" );
Connection conn = DriverManager.getConnection(
db_connect_string,
db_userid,
db_password);

      System.out.println( "connected" );
      return conn;
  } catch( Exception e ){
      e.printStackTrace();
      return null;
  }

}
public static void convertToCsv(String file, ResultSet rs) throws SQLException, FileNotFoundException {
PrintWriter csvWriter = new PrintWriter(new File(file)) ;
// write column names to file
ResultSetMetaData meta = rs.getMetaData() ;
int numberOfColumns = meta.getColumnCount() ;
String dataHeaders = """ + meta.getColumnName(1) + """ ;
for (int i = 2 ; i < numberOfColumns + 1 ; i ++ ) {
dataHeaders += ","" + meta.getColumnName(i) + """ ;
}
csvWriter.println(dataHeaders) ;
// write data
while (rs.next()) {
String row = """ + rs.getString(1) + """ ;
for (int i = 2 ; i < numberOfColumns + 1 ; i ++ ) {
row += ","" + rs.getString(i) + """ ;
}
csvWriter.println(row) ;
}
// close
csvWriter.close();
}

public static void main(String[] args){
new SQL2CSV();
}
}