安卓遠程訪問資料庫
❶ android程序中如何直接操作遠程伺服器上的資料庫
直接操作是辦不到的,而且這樣很不安全。
有方法達到你想要的效果,具體如下。
建議:在客戶端和服務端之間寫一個自己的通信協議。
比如:客戶端要更改、刪除服務端的數據,就給服務端發送一個報文:「刪除」+表名+條件。
服務端這么接到後,就調用服務端的程序,將接到的報文轉化為sql語句執行即可。
簡單的一個流程就是上面那樣子啦,有點像QQ和QQ伺服器的一個交互過程。
補充:如果樓主對TCP/IP協議比較了解的話,上面的過程可以輕松實現。現實中的應用例子也是這樣,誰也不會讓Client直接操作資料庫的,那無異於自殺。
❷ 安卓程序怎麼連接到個人電腦資料庫
JSP,我最近也正在研究,如何將數據導入到計算機資料庫中的android軟體,用電腦上網和SQL,我已經建立了一個JSP環境
❸ 如何遠程調用資料庫
一、連接遠程資料庫:
1、顯示密碼
如:MySQL 連接遠程資料庫(192.168.5.116),埠逗3306地,用戶名為逗root地,密碼逗123456地
C:/>mysql -h 192.168.5.116 -P 3306 -u root -p123456
2、隱藏密碼
如:MySQL 連接本地資料庫,用戶名為逗root地,
C:/>mysql -h localhost -u root -p
Enter password:
二、配置mysql允許遠程鏈接
默認情況下,mysql帳號不允許從遠程登陸,只能在localhost登錄。本文提供了二種方法設置mysql可以通過遠程主機進行連接。
一、改表法
在localhost登入mysql後,更改 "mysql" 資料庫里的 "user" 表裡的 "host" 項,將"localhost"改稱"%"
例如:
#mysql -u root -p
Enter password:
……
mysql>
mysql>update user set host = '%' where user = 'root';
mysql>select host, user from user;
二、授權法
例如: 你想myuser使用mypassword(密碼)從任何主機連接到mysql伺服器的話。
mysql>GRANT ALL PRIVILEGES ON *.* TO 'myuser'@'%'IDENTIFIED BY 'mypassword' WITH GRANT OPTION;
如果你想允許用戶myuser從ip為192.168.1.6的主機連接到mysql伺服器,並使用mypassword作為密碼
mysql>GRANT ALL PRIVILEGES ON *.* TO 'myuser'@'192.168.1.3'IDENTIFIED BY
'mypassword' WITH GRANT OPTION;
mysql>FLUSH PRIVILEGES
使修改生效,就可以了
常見問題:
1、在採用法二授權法之後,無法在本地登錄mysql(如:#mysql -u root -p -h 192.168.5.116
Enter password:
ERROR 1045 (28000): Access denied for user 'root'@'loadb116' (using password: YES)
上例中loadb116是主機名.
解決方法:
1、這時可以使用:mysql -u root -p 登錄,進入到mysql後。
mysql> grant all privileges on *.* to 'root'@'loadb116'
identified by '123456' with grant option;
Query OK, 0 rows affected (0.00 sec)
mysql> flush privileges;
Query OK, 0 rows affected (0.00 sec)
2、在本地使用ip地址登錄
# mysql -u root -p -h 192.168.5.116
Enter password:
Welcome to the MySQL monitor. Commands end with ; or /g.
Your MySQL connection id is 60
Server version: 5.1.45 MySQL Community Server (GPL)
Type 'help;' or '/h' for help. Type '/c' to clear the buffer.
mysql>