mysql连接

jhldelphi 2009-07-16 01:26:35
现连接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,怎样才能连接上局域网内的其它机器呢?
...全文
42 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
dinoalex 2009-07-16
  • 打赏
  • 举报
回复
你所用的 3 是 1+2

1 客户端无法处理,MyODBC返回列的实际宽度。

2 客户端无法处理,MyODBC返回受影响行的真值。如果设置了该标志,MySQL将返回“发现的行”取而代之。

再如 16386 是 2 + 16384
dinoalex 2009-07-16
  • 打赏
  • 举报
回复
option MyODBC工作方式的选项
winstonbonaparte 2009-07-16
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 SmallHand 的回复:]
引用 3 楼 winstonbonaparte 的回复:
引用楼主 jhldelphi 的帖子:
现连接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;…

root这个用户好象是不允许在局域网内访问的

[/Quote]
但最好是不要用root这个用户来访问的,毕竟它是属于最高权限的
火龙岛主 2009-07-16
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 winstonbonaparte 的回复:]
引用楼主 jhldelphi 的帖子:
现连接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;…

root这个用户好象是不允许在局域网内访问的
[/Quote]
root是否能够被其他机器访问,是可以通过权限配置的。
winstonbonaparte 2009-07-16
  • 打赏
  • 举报
回复
[Quote=引用楼主 jhldelphi 的帖子:]
现连接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;…
[/Quote]
root这个用户好象是不允许在局域网内访问的
winstonbonaparte 2009-07-16
  • 打赏
  • 举报
回复
我用的也是MYSQL数据库,当时也让我废了不少时间。
这是我连接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服务器,建议在开发时设为%。
dinoalex 2009-07-16
  • 打赏
  • 举报
回复
SERVER=192.168.0.123

2,498

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 数据库相关
社区管理员
  • 数据库相关社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧