我目前正在做的是将带有时间戳和其他参数的 GPS 数据发送到远程 MSSQL 数据库。起初,我通过 ksoap2 将它发送到 SOAP WebService。由于开销巨大,我寻找替代方案并通过JTDS实现数据传输以直接插入。在我成功实现这两种方法后,我开始比较它们。我试图找出哪一个会导致更多的流量。我分析了网络流量,令我惊讶的是 SOAP 比 JTDS 便宜。这不是很奇怪吗?我已经发送了相同的数据。我正在使用 JTDS 1.2.7 驱动程序。ksoap 导致约。1.8 kByte 流量和比较 JTDS 导致 ca。2.1 KB。
有没有人有同样的经历或者可以告诉我我可以改变什么?
这是 JTDS 代码。也许有人可以告诉我,是什么导致了流量:
try {
Class.forName("net.sourceforge.jtds.jdbc.Driver");
String connString = "jdbc:jtds:sqlserver://192.XXX.X.XX/xxxx;encrypt=false;user=XX;password=XX;instance=SQLEXPRESS;";
conn = DriverManager.getConnection(connString);
} catch (Exception ex){
ex.printStackTrace();
}
try {
Log.w("Connection", "open");
CallableStatement cs = conn.prepareCall("{ call SetGPS(?, ?, ?, ?, ?, ?, ?)}");
cs.setString(2, latitude);
cs.setString(3, longitude);
cs.setInt(4, ID);
cs.setString(5, timestamp);
cs.setString(6, IMEI);
cs.setInt(7, userID);
cs.registerOutParameter(1, Types.VARCHAR);
cs.execute();
String response = cs.getString(1);
Log.i("GPS Response:", response);
conn.close();
} catch (Exception ex){
ex.printStackTrace();
}