Cách truy vấn SQL Server trên Google Sheet? (2 người xem)

Liên hệ QC

Người dùng đang xem chủ đề này

lameco411

Thành viên hoạt động
Tham gia
27/11/15
Bài viết
162
Được thích
63
Có anh chị nào từng dùng google sheets để lấy dữ liệu từ MSSQL không cho em xin code với ạ!
 
Có anh chị nào từng dùng google sheets để lấy dữ liệu từ MSSQL không cho em xin code với ạ!



Bạn dùng code sau nhé:
Mã:
function onOpen() {

var spreadsheet = SpreadsheetApp.getActive();

var menuItems = [
    {name: 'Lấy dữ liệu', functionName: 'readData'}
];
spreadsheet.addMenu('SQLServer', menuItems);
}


var address = '171.244.39.128'; //IP của bạn
var user = 'AnhDom';
var userPwd = '1234!@#$GPe';
var db = 'Test';

var dbUrl = 'jdbc:sqlserver://' + address + ';databaseName=' + db;


function readData() {
var conn = Jdbc.getConnection(dbUrl, user, userPwd);


var stmt = conn.createStatement();

var results = stmt.executeQuery('SELECT * FROM [dbo].[tblTest]');
var metaData=results.getMetaData();
var numCols = metaData.getColumnCount();

var sheet = SpreadsheetApp.getActiveSheet();



sheet.clearContents();

var arr=[];

for (var col = 0; col < numCols; col++) {
  arr.push(metaData.getColumnName(col + 1));
}

sheet.appendRow(arr);


while (results.next()) {
  arr=[];

  for (var col = 0; col < numCols; col++) {

   arr.push(results.getString(col + 1));
  }
sheet.appendRow(arr);

}

results.close();
stmt.close();

sheet.autoResizeColumns(1, numCols+1);


}

Xem link: https://docs.google.com/spreadsheets/d/1Pw9vx0f-DCFOaUYlOv--o5-a7k3t0pmVSldieFkI2VM/edit#gid=0
 

Bạn dùng code sau nhé:
Mã:
function onOpen() {

var spreadsheet = SpreadsheetApp.getActive();

var menuItems = [
    {name: 'Lấy dữ liệu', functionName: 'readData'}
];
spreadsheet.addMenu('SQLServer', menuItems);
}


var address = '171.244.39.128'; //IP của bạn
var user = 'AnhDom';
var userPwd = '1234!@#$GPe';
var db = 'Test';

var dbUrl = 'jdbc:sqlserver://' + address + ';databaseName=' + db;


function readData() {
var conn = Jdbc.getConnection(dbUrl, user, userPwd);


var stmt = conn.createStatement();

var results = stmt.executeQuery('SELECT * FROM [dbo].[tblTest]');
var metaData=results.getMetaData();
var numCols = metaData.getColumnCount();

var sheet = SpreadsheetApp.getActiveSheet();



sheet.clearContents();

var arr=[];

for (var col = 0; col < numCols; col++) {
  arr.push(metaData.getColumnName(col + 1));
}

sheet.appendRow(arr);


while (results.next()) {
  arr=[];

  for (var col = 0; col < numCols; col++) {

   arr.push(results.getString(col + 1));
  }
sheet.appendRow(arr);

}

results.close();
stmt.close();

sheet.autoResizeColumns(1, numCols+1);


}

Xem link: https://docs.google.com/spreadsheets/d/1Pw9vx0f-DCFOaUYlOv--o5-a7k3t0pmVSldieFkI2VM/edit#gid=0
Cám ơn anh nhiều!
Em chạy thử rồi có điều nó hơi chậm!
Anh ơi cho em hỏi cái này nó tự động cập nhật luôn hay sao anh?
 
Ý em nói là khi có sự thay đổi dữ liệu trong DB thì ở google sheet nó cũng thay đổi theo đó anh
À ra thế, nếu muốn đồng bộ với dữ liệu trong CSDL SQLServer thì bạn phải click nút lấy dữ liệu để có được dữ liệu mới nhất nhé.
 

Bạn dùng code sau nhé:
Mã:
function onOpen() {

var spreadsheet = SpreadsheetApp.getActive();

var menuItems = [
    {name: 'Lấy dữ liệu', functionName: 'readData'}
];
spreadsheet.addMenu('SQLServer', menuItems);
}


var address = '171.244.39.128'; //IP của bạn
var user = 'AnhDom';
var userPwd = '1234!@#$GPe';
var db = 'Test';

var dbUrl = 'jdbc:sqlserver://' + address + ';databaseName=' + db;


function readData() {
var conn = Jdbc.getConnection(dbUrl, user, userPwd);


var stmt = conn.createStatement();

var results = stmt.executeQuery('SELECT * FROM [dbo].[tblTest]');
var metaData=results.getMetaData();
var numCols = metaData.getColumnCount();

var sheet = SpreadsheetApp.getActiveSheet();



sheet.clearContents();

var arr=[];

for (var col = 0; col < numCols; col++) {
  arr.push(metaData.getColumnName(col + 1));
}

sheet.appendRow(arr);


while (results.next()) {
  arr=[];

  for (var col = 0; col < numCols; col++) {

   arr.push(results.getString(col + 1));
  }
sheet.appendRow(arr);

}

results.close();
stmt.close();

sheet.autoResizeColumns(1, numCols+1);


}

Xem link: Liên kết: https://docs.google.com/spreadsheets/d/1Pw9vx0f-DCFOaUYlOv--o5-a7k3t0pmVSldieFkI2VM/edit#gid=0 Liên kết: https://docs.google.com/spreadsheets/d/1Pw9vx0f-DCFOaUYlOv--o5-a7k3t0pmVSldieFkI2VM/edit#gid=0
Còn việc ngược lại là lưu dữ liệu từ google sheet vào SQL Server làm sao bác ơi, hỗ trợ em với
 
Chắc là dán liên kết nên nhúng GoogleSheet vào diễn đàn luôn ấy bác Mạnh, giao diện em dùng cũng hiện mail của em.
đang tò mò cái chỗ sao bài trước đó nó lại nổi lên cái mail của tôi thôi còn nếu tôi bấm vào link ra cái mail của chính tôi thì lại không có hỏi
nói thật là Google sheet tôi không có quan tâm lắm nên nhiều cái không có hiểu

a duyệt à :p
 
1682408090964.png

Bài số 8 đó tôi mới dệ chuột vào vẫn thấy mail của tôi nên mới hỏi thôi

còn không thì cũng không có quan tâm google sheet lắm
 

Bạn dùng code sau nhé:
Mã:
function onOpen() {

var spreadsheet = SpreadsheetApp.getActive();

var menuItems = [
    {name: 'Lấy dữ liệu', functionName: 'readData'}
];
spreadsheet.addMenu('SQLServer', menuItems);
}


var address = '171.244.39.128'; //IP của bạn
var user = 'AnhDom';
var userPwd = '1234!@#$GPe';
var db = 'Test';

var dbUrl = 'jdbc:sqlserver://' + address + ';databaseName=' + db;


function readData() {
var conn = Jdbc.getConnection(dbUrl, user, userPwd);


var stmt = conn.createStatement();

var results = stmt.executeQuery('SELECT * FROM [dbo].[tblTest]');
var metaData=results.getMetaData();
var numCols = metaData.getColumnCount();

var sheet = SpreadsheetApp.getActiveSheet();



sheet.clearContents();

var arr=[];

for (var col = 0; col < numCols; col++) {
  arr.push(metaData.getColumnName(col + 1));
}

sheet.appendRow(arr);


while (results.next()) {
  arr=[];

  for (var col = 0; col < numCols; col++) {

   arr.push(results.getString(col + 1));
  }
sheet.appendRow(arr);

}

results.close();
stmt.close();

sheet.autoResizeColumns(1, numCols+1);


}

Xem link: Liên kết: https://docs.google.com/spreadsheets/d/1Pw9vx0f-DCFOaUYlOv--o5-a7k3t0pmVSldieFkI2VM/edit#gid=0 Liên kết: https://docs.google.com/spreadsheets/d/1Pw9vx0f-DCFOaUYlOv--o5-a7k3t0pmVSldieFkI2VM/edit#gid=0
Bài này để ngủ quên 6 năm nay tới Lúc Mạnh vận dụng nó cho Google Sheet rồi

1/ viết mã trên Google Sheet liên kết WebServer truy xuất dữ liệu Access , Excel và SQLite trên PC xong đẩy lên Google Sheet

2/ WebServer chạy đa luồng, đa tầng và đa dịch vụ xong rồi ... giờ chỉ giáp code vào thôi .. có lẻ không quá khó khăn

Vì phía sau máy chủ SQL Server của Ms cũng là WebServer cấu hình cho nó chạy từ xa thôi ... còn WebServer của mạnh cũng na ná như vậy ...

Ghi nhớ đây rảnh tính tiếp và viết mã trên Google Sheet mới mẻ cho vui
 
Web KT

Bài viết mới nhất

Back
Top Bottom