视情况而定,oracle是主流的大型数据库,大多数电信项目都是使用的oracle,而sqlserver与mysql主要是个人以及小型公司使用的的数据库,但是sqlserver需要收费,mysql不用;如果按功能上来说,oracle最为强大,oracle支持递归查询,二后两者不支持。
三个数据库中,只有sqlserver有完整的图形化 *** 作界面,而oracle与mysql都要借助于其他的第三方数据库图形 *** 作界面,比如oracle用的大多都是plsql。
如果是本地数据的需求用SQlite,如果像登陆有用验证或者网络间共享数据的话,就需要调用WebService与后台服务器数据交互,这两种数据是没有联系的。一个是本地数据库,一个是服务器端数据库。本地用数据库就是SQlite,别的不太可能,终端没有那么高的性能,再说甲骨文公司也没出手机端oracle啊。
如果你的数据是已知的,静态的,没有太多的变化,满可以在本地SQlite中存储、读取。这样不会因网络问题而降低效率和成功率。如果数据未知、有实时的变化或者有与其他用户交互、共享的数据必然需要后台服务器数据。
android 链接mysql数据库实例:package com.hl
import java.sql.DriverManager
import java.sql.ResultSet
import com.mysql.jdbc.Connection
import com.mysql.jdbc.Statement
import android.app.Activity
import android.os.Bundle
import android.view.View
import android.view.View.OnClickListener
import android.widget.Button
import android.widget.TextView
public class AndroidMsql extends Activity {
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState)
setContentView(R.layout.main)
Button btn=(Button)findViewById(R.id.btn)
btn.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
sqlCon()
}
})
}
private void mSetText(String str){
TextView txt=(TextView)findViewById(R.id.txt)
txt.setText(str)
}
private void sqlCon(){
try {
Class.forName("com.mysql.jdbc.Driver")
} catch (Exception e) {
e.printStackTrace()
}
try {
String url ="jdbc:mysql://192.168.142.128:3306/mysql?user=zzfeihua&password=12345&useUnicode=true&characterEncoding=UTF-8"//链接数据库语句
Connection conn= (Connection) DriverManager.getConnection(url)//链接数据库
Statement stmt=(Statement) conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE)
String sql="select * from user"//查询user表语句
ResultSet rs=stmt.executeQuery(sql)//执行查询
StringBuilder str=new StringBuilder()
while(rs.next()){
str.append(rs.getString(1)+"\n")
}
mSetText(str.toString())
rs.close()
stmt.close()
conn.close()
} catch (Exception e) {
e.printStackTrace()
}
}
}
不过eclipse老是提示:
warning: Ignoring InnerClasses attribute for an anonymous inner class that doesn't come with an associated EnclosingMethod attribute. (This class was probably produced by a broken compiler.)
解决Navicat无法连接到MySQL的问题
解决Navicat无法连接到MySQL的问题
问题一:本地IP(xxx.xxx.xxx.xxx)没有访问远程数据库的权限。于是下面开启本地IP(xxx.xxx.xxx.xxx)对远程mysql数据库的访问权限。
这里开启权限,要在远程数据库服务器上开:
解决办法:
1、首先在远程服务器上连接进入mysql,在cmd中输入mysql -u root -p,然后回车,输入密码后回车进入mysql命令行。
2、输入下面命令,授权所有的客户端都可以访问服务器的权限,下面的‘123456’为你数据库的实际密码,记得修改:
grant all privileges on *.* to root@'%' identified by '123456'
3、输入下面命令,刷新权限
flush privileges
4、进入相应目录修改ssh_config和sshd_config文件
cd /etc/ssh
vi ssh_config
将 #PasswordAuthentication yes改为 PasswordAuthentication yes,我们去掉了它前面的#
编辑sshd_config 做同样的去掉‘#’ *** 作
5、然后重新启动mysql服务
/etc/init.d/mysqld restart
这里如果加入了服务,就直接可以用service。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)