主机与虚拟机通信:以主机VS2010连接虚拟机MySql为例
1.首先解决环境配置、网络互相通信的问题:
主机:Win7 32bit。虚拟机 Winxp 32bit(不要鄙视我不大会用unix之类的东西)。使用virtualBox安装。
网络:虚拟机配置成Bridged Adapter 桥接模式,使用无线网卡(好像还有种叫法叫网桥模式,我不大搞得清楚)。关于虚拟机网络配置的问题参见:http://www.cnblogs.com/adforce/archive/2013/10/11/3363373.html。
主机无线网卡连接无线。IP信息如下右侧:
因为host与virtual都连接上了同一无线路由器,所以两台机器自然就在同一网段了。(很奇怪的是他们的IP地址第三段分别是60和61,不一样。我想可能是是因为IP~网关~子网掩码的关系吧,我不是很懂所以不管)。
之后,无论是host ping virtual还是相反,都是通的。并且两机器上网正常。
2.以主机VS2010连接虚拟机MySql为例,使用EFToMySql做个ORM小控制台程序,读取数据库信息。
1在虚拟机上安装Mysql,以及数据库管理程序(在这里我使用MySQL Workbench 5.2 CE),为了省却一些配置、安装,直接安装mysql-installer-5.5.16.0.msi,内含Mysql,workbench以及其示例数据库、其他必备的东西、类库,可能需要再次上网下载。装完后使用合适的账号密码就可以用workBeach对Mysql进行操作了,就像SQL Server Management Studio操作SQL Server一样。界面稍有不同,但是差不多,熟悉、习惯下可以用了。界面如图。
2.使用workbench配置Mysql使之可以通过远程客户机(即主机)连接到安装有Mysql的机器(即本虚拟机)。需要授权。参见http://www.cnblogs.com/smallstone/archive/2010/04/29/1723838.html。
默认情况下,Mysql不能支持远程连接,不像SQL SERVER那样只要点个选项“允许远程连接”就可以了。
①点击上图的右下角“Server Adminstration”部分-》Manege Security
②按如下填入,%即授权按任意计算机输入root以及密码后均可连接MYSQL,点击Apply去人应用。见图:
3.主机已经安装有VS2010,在安装mysql-connector-net-6.3.5插件(新版本不集成连接器需要单独下载),是个Entity Framework ToMySql工具。选择典型安装,安装完成之后会集成进VS。
4.写程序。打开VS2010新建个类库,新建实体模型,数据库连接方式是刚安装的Mysql,输入虚拟机的IP地址、Mysql用户名密码。
之后便生成实体框架模型,后缀EDMX。
新建控制台,写个小程序遍历表内容,务必将实体模型类库中的App.Config中的数据库连接串复制到控制台app.config中。
这个字符串前半部分稍有奇怪,可以参考http://blog.csdn.net/tangsilai/article/details/16924937
- <connectionStrings>
- <add name="sakilaEntities" connectionString="metadata=res://*/Sakila.csdl|res://*/Sakila.ssdl|res://*/Sakila.msl;provider=MySql.Data.MySqlClient;provider connection string="server=localhost;User Id=root;password=123456;Persist Security Info=True;database=sakila;Interactive Session=True"" providerName="System.Data.EntityClient" />
- </connectionStrings>
控制台代码截图如下:
- //本程序用测试EfToMysql实体框架的有效性
- //在控制台输出actor单表的前10条记录,无外表查询
- using System;
- using System.Linq;
- using EFToMysql;
- namespace ConsoleApplication1
- {
- class Program
- {
- static void Main(string[] args)
- {
- sakilaEntities s = new sakilaEntities();
- var query = s.actors.Take().ToList();
- foreach (var q in query)
- {
- Console.WriteLine(string.Format("{0},{1},{2},{3}", q.actor_id, q.first_name, q.last_name, q.last_update));
- }
- }
- }
- }
直接运行就可以看到结果了。
至此,已完成主机~虚拟机通信。
主机与虚拟机通信:以主机VS2010连接虚拟机MySql为例的更多相关文章
- 虚拟机通信配置与Xshell连接
本文主要讲解虚拟机通信配置的详细步骤和Xshell工具连接,以及如何诊断网络问题并进行相应配置的问题. 1. 虚拟机通信配置 虚拟机通信配置的基本流程如图所示: 首先,我们先打开新建的虚拟机,然后输入 ...
- 【已解决】WinPhone模拟器报错:模拟器没法确定来宾虚拟机通信的主机ID地址。某些功能已被禁用
先看警告 再看错误信息 计算机管理打不开就==>Win+R ==>compmgmt.msc 发现,dnt在管理员权限组里面,也在Hyper-V权限组里面 看看Hyper-V的驱动有木有被禁 ...
- 从0到有,虚拟机安装centos,然后ssh连接虚拟机
安装centos 1.下载centos镜像 https://mirrors.aliyun.com/centos/6.8/isos/x86_64/CentOS-6.8-x86_64-bin-DVD1.i ...
- 【虚拟机】主机与VMware虚拟机通信(XP版)(转)
一.与主机共享ADSL链接/无线网络(虚拟机内可上网) 安装虚拟机后,在网络链接下除了本地链接外,会出现两个新的链接,分别是VMware Network Adapter VMnet1和VMware N ...
- 主机与虚拟机连接,主机能ping通虚拟机虚拟机ping不通主机问题
事件描述: 从物理主机ping虚拟机时,能正常返回信息.反之,从虚机ping物理主机时返回信息:Destination Host unreachable. 解决方法: 首先,是因为默认创建的虚拟机 ...
- Secure CRT 如何连接虚拟机里面的CentOS系统 当主机没有网的时候 作者原创 欢迎转载
当家里没有网络的时候: 1.第一步:首先保证主机所有的网卡都没有分享连接给VM8这一块网卡 如图:这个设置就保证了无线网络连接这块网卡没有分享给VM8这一块网卡 第二步:启用VM8这一块网卡,右键en ...
- VMwarevSphere Client 链接 vCenter Server中的主机,开启虚拟机提示:在主机当前连接状况下不允许执行该操作
VMwarevSphere Client 链接 vCenter Server中的主机,开启虚拟机提示:在主机当前连接状况下不允许执行该操作很多原因都可以导致该问题出现,例如 vCenter Serve ...
- 实现ENSP模拟器与物理主机、虚拟机通信
一.环境描述 我需要实现华为模拟器中的网络设备和物理主机.虚拟机通信.这篇文章中以ENSP中的路由器为例,实现它和物理主机.虚拟机的通信. 二.实现方法 在ENSP中借助Cloud来实现. 在Clo ...
- Linux虚拟机下与主机通信
1.更改虚拟机ip和主机ip同一网段 2.配置虚拟机的网络适配器 3.主机进行ping测试
随机推荐
- SPFA(建图) HDOJ 4725 The Shortest Path in Nya Graph
题目传送门 题意:有两种路径,每个点会分别在某一层,层相邻之间权值c.还有直接两点传送,花费w.问1到n的最短距离. 分析:1~n正常建边.然后n + a[i]表示i点在第a[i]层.然后再优化些就不 ...
- 快学Java NIO 续篇
可以先看Java NIO的整体介绍,这篇接着说以下内容,<快学Java NIO>续篇 FileChannel SocketChannel ServerSocketChannel Java ...
- mark元素
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...
- 使用oracle11g_instant_client来解决在不安装oracle客户端的情况下连接服务端
一.下载instantclient_11_2,可去oracle官网进行下载. 二.解压缩下载的instantclient_11_2,将instantclient_11_2目录拖放到C:\Program ...
- ccc 多点触控2
经过不断的思考发现,如果是两个sprite都添加触控的时候,往往直接成单点触控, 但是如果是两个node的时候在node上面点击就会变成多点触控的形式 cc.Class({ extends: cc.C ...
- PHP 将秒数转换成时分秒
将秒数转换成时分秒,PHP提供了一个函数gmstrftime,不过该函数仅限于24小时内的秒数转换.对于超过24小时的秒数,我们应该怎么让其显示出来呢,例如 34:02:02 $seconds = 3 ...
- ACM 懒省事的小明
懒省事的小明 时间限制:3000 ms | 内存限制:65535 KB 难度:3 描述 小明很想吃果子,正好果园果子熟了.在果园里,小明已经将所有的果子打了下来,而且按果子的不同种 ...
- 【noiOJ】P1996
1996:登山 查看 提交 统计 提问 总时间限制: 5000ms 内存限制: 131072kB 描述 五一到了,PKU-ACM队组织大家去登山观光,队员们发现山上一个有N个景点,并且决定按照顺序 ...
- C程序演示产生僵死进程的过程
先抄录网上一段对僵死进程的描述: 僵尸进程:一个进程使用fork创建子进程,如果子进程退出,而父进程并没有调用wait或waitpid获取子进程的状态信息,那么子进程的进程描述符仍然保存在系统中.这种 ...
- IOS面试题总结
iOS面试题: 一:网络理论知识的理解 1:Internet物理地址和IP地址转换采用什么协议 ARP(Address Resolution Protocol)地址解析协议 2:Internet采用哪 ...