SQLServer · 最佳实践 · 开发基于.NET CORE的LINUX版本的数据库应用

简介:
+关注继续查看

title: SQLServer · 最佳实践 · 开发基于.NET CORE的LINUX版本的数据库应用

author: 石沫

背景

最近有客户在基于.NET CORE的LINUX版本连接数据库的应用程序,在开发中,会遇到一些问题,客户会错误地将原因定位到我们的SQL SERVER,陆续收到一些工单,因此,我们需要有计划增强这个方面的能力,同事正确引导用户使用SQL SERVER。

部署环境

1. 服务器版本:ubuntu 14.04

2. .NET CORE 版本:1.0

3. 安装过程

3.1 增加 dotnet apt-get feed

sudo sh -c 'echo "deb [arch=amd64] https://apt-mo.trafficmanager.net/repos/dotnet-release/ trusty main" > /etc/apt/sources.list.d/dotnetdev.list'
sudo apt-key adv --keyserver apt-mo.trafficmanager.net --recv-keys 417A0893
sudo apt-get update

3.2 安装.NET Core SDK

sudo apt-get install dotnet-dev-1.0.0-preview2-003131  

https://www.microsoft.com/net/core#ubuntu

开发第一个数据库应用程序

1. 创建文件夹

mkdir SqlConnect

2. 创建源码文件及编写内容

使用的是C#语言,连接的数据库是RDS for SQL SERVER 2008 R2,有GITHUB上文章介绍,连接SQL SERVER 2008 R2需要SP3,但实际上是不需要的。这个客户会误解!

touch DbApp.cs
vim DbApp.cs
chmod +755 DbApp.cs
---------------------------------------------------------------------------------------------- 
using System;
using System.Data.Common;
using System.Data.SqlClient;

namespace ConsoleApplication
{
    public class Program
    {
        public static void Main(string[] args)
        {    
           String sqlConnStr="Data Source=myServer,3433;User ID=zhangshan;Password=123;Initial Catalog=master";
        String sqlStr="select spid,waittype  from sys.sysprocesses";
        
        SqlConnection sqlConn= new SqlConnection(sqlConnStr);
        SqlCommand sqlCmd = new SqlCommand(sqlStr,sqlConn);
        try
        {
            string spid=String.Empty;
            string program_name=String.Empty;

            sqlConn.Open();
            SqlDataReader reader = sqlCmd.ExecuteReader();
            while(reader.Read())
            {
                spid=reader[0].ToString();
                program_name=reader[1].ToString();
                Console.WriteLine("spid="+spid+" "+"waittype="+program_name);
            }
            //Console.WriteLine("The server is:"+svrName);
        }
        catch(SqlException e)
        {    
            Console.WriteLine(e.Message);
        }
        finally
        {
            sqlConn.Close();
        }        
        //Console.Read();
        }
    }
}

3. 创建配置文件

默认情况下,system.data.*包是不存在的(.Nuget/package),因此需要添加包的依赖
"System.Data.Common": "4.1.0",
"System.Data.SqlClient" : "4.1.0",
"System.Runtime": "4.1.0"

touch project.json
vim project.json
---------------------------------------------------------------------------------------------- 
{
    "version": "1.0.0-*",
    "buildOptions": {
        "debugType": "portable",
        "emitEntryPoint": true
    },
    "dependencies": {
        "System.Data.Common": "4.1.0",
        "System.Data.SqlClient" :  "4.1.0",
        "System.Runtime": "4.1.0"
    },
  "frameworks": {
    "netcoreapp1.0": {
      "dependencies": {
        "Microsoft.NETCore.App": {
          "type": "platform",
          "version": "1.0.1"
        }
      },
      "imports": "dnxcore50"
    }
  }
}

4. 还原整个项目的依赖库

找当前目录下的项目文件(project.json),然后利用NuGet库还原整个项目的依赖库,然后遍历每个目录,生成项目文件,继续还原该项目文件中的依赖项。

dotnet restore

restore

5. 编译应用程序

dotnet build

build

6. 运行运用程序

dotnet run 

run

OK,第一个简单的数据库程序就完成了。熟悉C#的同学开发起来非常简单!

相关实践学习
使用交互方式创建数据表
本次实验主要介绍如何在RDS-SQLServer数据库中使用交互方式创建数据表。
SQL Server on Linux入门教程
SQL Server数据库一直只提供Windows下的版本。2016年微软宣布推出可运行在Linux系统下的SQL Server数据库,该版本目前还是早期预览版本。本课程主要介绍SQLServer On Linux的基本知识。 相关的阿里云产品:云数据库RDS SQL Server版 RDS SQL Server不仅拥有高可用架构和任意时间点的数据恢复功能,强力支撑各种企业应用,同时也包含了微软的License费用,减少额外支出。 了解产品详情: https://www.aliyun.com/product/rds/sqlserver
目录
相关文章
|
15天前
|
容器
.NET Core - 选项框架:服务组件集成配置的最佳实践
.NET Core - 选项框架:服务组件集成配置的最佳实践
|
11月前
|
SQL Linux 网络安全
在 VirtualBox 中准备 SQLServer On Linux 的运行环境|学习笔记
快速学习在 VirtualBox 中准备 SQLServer On Linux 的运行环境
64 0
在 VirtualBox 中准备 SQLServer On Linux 的运行环境|学习笔记
|
11月前
|
SQL 网络协议 Linux
在 CentOS 7中安装 SQLServer on Linux
快速学习在 CentOS 7中安装 SQLServer on Linux
103 0
|
11月前
|
SQL Linux Go
从 Windows 中恢复 SQLServer On Linux|学习笔记
快速学习从 Windows 中恢复 SQLServer On Linux
101 0
从 Windows 中恢复 SQLServer On Linux|学习笔记
|
11月前
|
SQL Linux Go
SQLServer On Linux 连接|学习笔记
快速学习 SQLServer On Linux 连接
63 0
|
11月前
|
SQL Linux 数据安全/隐私保护
SQLServer On Linux 的目录结构|学习笔记
快速学习 SQLServer On Linux 的目录结构
81 0
|
11月前
|
存储 SQL Linux
SQLServer On Linux 错误日志检查|学习笔记
快速学习 SQLServer On Linux 错误日志检查
346 0
SQLServer On Linux 错误日志检查|学习笔记
|
11月前
|
SQL Linux 网络安全
SQLServer On Linux 常用操作(启动、停止、启用、禁用、浏览)|学习笔记
快速学习 SQLServer On Linux 常用操作(启动、停止、启用、禁用、浏览)
1048 0
|
11月前
|
Linux Go 数据库
SQLServer On Linux 备份还原|学习笔记
快速学习 SQLServer On Linux 备份还原
205 0
|
11月前
|
SQL Linux Shell
SQLServer On Linux包列表|学习笔记
快速学习 SQLServer On Linux包列表
48 0
相关产品
云数据库 Redis 版
云数据库 MongoDB 版
云数据库 RDS
推荐文章
更多