现连接MYSQL,我用了三种方法:
1. 用ODBC;
2. 用AdoConnction;
try
ADOCon1.Close;
ADOCon1.ConnectionString:=('DRIVER={MySQL ODBC 5.1 Driver};'+
'SERVER=localhost;'+
'DATABASE=mysql;'+
'USER=root;'+
'PASSWORD=root;'+
'OPTION=3;'); //OPTION 这个是什么
ADOCon1.Open;
except
application.MessageBox('无法连接数据库服务器.请与管理员联系','提示',MB_ICONINFORMATION);
end;3. 用SQLConnection1;同过ODBC可以连接到局域网内的其它机器;
但是通过AdoConnction和SQLConnection1,却连接不上局域网内的其它机器。请教:
通过AdoConnction和SQLConnection1,怎样才能连接上局域网内的其它机器呢?
1. 用ODBC;
2. 用AdoConnction;
try
ADOCon1.Close;
ADOCon1.ConnectionString:=('DRIVER={MySQL ODBC 5.1 Driver};'+
'SERVER=localhost;'+
'DATABASE=mysql;'+
'USER=root;'+
'PASSWORD=root;'+
'OPTION=3;'); //OPTION 这个是什么
ADOCon1.Open;
except
application.MessageBox('无法连接数据库服务器.请与管理员联系','提示',MB_ICONINFORMATION);
end;3. 用SQLConnection1;同过ODBC可以连接到局域网内的其它机器;
但是通过AdoConnction和SQLConnection1,却连接不上局域网内的其它机器。请教:
通过AdoConnction和SQLConnection1,怎样才能连接上局域网内的其它机器呢?
这是我连接MYSQL数据库的字符串,用的是ADO,当然要先装ODBC 3.51版本的。不过不需要配置
DRIVER={MySQL ODBC 3.51 Driver};SERVER = 192.168.1.6;DATABASE = iamp;USER = WJH;PASSWORD = 123456;OPTION=3;你如果想在局域内访问其它装了MYSQL的电脑,必须先在MySQLQueryBrowser执行一下下面的语句(底下是我在文档里的内容):
在程序运行时,因MySQL的安全设计,我们无法使用root这个默认的用户名进行局域网或是IP地址的访问,所以必须新建一个用户名来进行局域网的连接,创建的命令如下,先启动MySQL Query Browser,使用root用户登陆服务器,Default Schema改为mysql,在命令输入框中输入以下字符串:
grant select,update,insert,delete on *.* to chen@'%' identified by 'wjh8212';
GRANT ALL PRIVILEGES ON *.* TO 'myuser'@'%' IDENTIFIED BY 'mypassword' WITH GRANT OPTION;
此命令的格式:
grant 权限 on 数据库名.表名 用户@host identified by "用户密码";
查看结果,执行:
use mysql;
select host,user,password from user;
可以看到在user表中已有刚才创建的chen用户。host字段表示登录的主机,其值可以用IP,也可用主机名,
将host字段的值改为%就表示在任何客户端机器上能以chen用户登录到mysql服务器,建议在开发时设为%。
2 客户端无法处理,MyODBC返回受影响行的真值。如果设置了该标志,MySQL将返回“发现的行”取而代之。再如 16386 是 2 + 16384