SinoDB数据库VisualStudio2015 EntityFramework6开发连接配置.docx (3.1 MB)
1. 软件环境准备
1.1 操作系统环境
Window10操作系统或者其他window操作系统,本文采用window10操作系统。
1.2 软件准备
-
Visual Studio 2015(以下简称VS);
-
ibm_data_server_driver_package_win64_v11.1.4.exe 数据库驱动;
-
IBM Database Add-Ins for Visual Studio 11.1.4 数据库扩展插件;
-
EntityFramework v6.1.3(在VS内联网安装,安装过程见下文);
-
EntityFramework.IBM.DB2 v6.0.3 (在VS内联网安装,安装过程见下文);
若无法联网,可以通过其他联网的vs环境,新建项目先安装ef,之后在项目的目录下有一个packages目录,将对应文件夹整个拷贝至目标机器,在nuget配置管理界面添加本地来源,进行ef安装。
1.2 注意事项:
-
数据库版本至少为12.1 fc6,fc5版本会导致数据库异常宕机、ef工具无法正常工作;
-
若vs安装程序为安装ef tool包,可以在vs的安装包目录的packages目录下的eftool目录内通过eftool.msi安装包手动安装;
-
需要增加数据库的drsoctcp通信协议,要重启数据库方可生效。
2. VisualStudio 2015安装
下载安装包,双击安装程序,参考如下截图进行安装配置
等待完成安装即可。
3. 数据库驱动程序安装
安装ibm_data_server_driver_package_win64_v11.1.4.exe,安装此驱动时,即使是管理员账户登入,也需要右键点击,使用管理员身份进行安装!否则会出现驱动安装及使用异常。点击安装产品安装数据库驱动程序。
4. SinoDB VisualStudio扩展插件安装
数据库驱动程序安装完成后会自动弹出IBM Database Add-Ins for Visual Studio 11.1.4安装界面,点击安装安装SinoDB数据库插件程序。如果需要单独安装VisualStudio数据库插件,请重新以管理员身份启动数据库驱动安装程序,选择安装产品并安装IBM Database Add-Ins for Visual Studio 11.1.4产品。
5. Entity Framework扩展插件安装
打开vs,新建项目,菜单选择:视图–>解决方案资源管理器,鼠标右键点击新建的项目名称,从弹出的对话框中选择“管理NuGet程序包”,切换至浏览标签,输入entityframework进行扩展包搜索,点击安装,安装成功后如下所示:
输入EntityFramework.IBM.DB2,进行特定数据库插件安装:
6. 数据库环境配置
在数据库主机上参考如下命令修改数据库配置
vi $INFORMIXSQLHOSTS
末尾添加:sinoregalnet drsoctcp 192.168.84.33 1527
第一列是数据库别名,需要在DBSERVERALIASES 参数内容之一;
第二列是通讯协议,必须为drsoctcp
第三列和第四列为ip地址和端口,根据实际情况修改
vi $INFORMIXDIR/etc/$ONCONFIG
DBSERVERALIASES sinoregalnet
添加数据库别名,别名需要与INFORMIXSQLHOSTS里用于别名连接的的名称相同。
NETTYPE drsoctcp,1,10,NET
添加drsoctcp通讯协议,需与INFORMIXSQLHOSTS添加的协议一致。
关闭数据库:onmode -ky
启动数据库:oninit -vy
7. VisualStudio开发示例
点击文件新建一个项目,如下:
选择需要使用的模板,本例选择MVC,如下:
点击“更改身份验证”,选择“不进行身份验证”,如下:
右键新建的项目,选择“管理NuGet程序包”添加EntityFrame扩展插件,具体步骤参考上面。
右键点击项目名称,选择“添加”—》“新建项”,如下:
在弹出的窗口中选择“ADO.NET实体数据模型”,如下:
选择“来自数据库的EF设计器”
点击“新建连接”
选择“IBM DB2 and IDS Servers”,如下:
在连接属性中输入参数信息,点击“测试连接”如下:
8. 环境搭建问题描述
8.1 VisualStudio报58004问题描述
问题描述:
配置SinoDB数据连接之后,点击“测试连接”出现错误,如下:
问题分析:
由于ibm_data_server_driver驱动需要选择驱动的验证模式,而连接串中没有设置改参数,因此导致该错误出现。
问题处理:
在“连接属性”中点击“高级”,将参数“Authentication”参数设置为“server”。