提示 \color{red}{提示} 提示:
《Linux系统上编译安装FreeTDS库文件》中讲述了如何编译FreeTDS源码,并安装。
本文部分内容会在上述文章的基础上深入。
C# .NET8框架的程序运行在Linux系统上,使用技术手段,使得C#程序不仅可以访问Linux系统上的SQLServer数据库,也能访问Windows系统上的SQLServer数据库,以应对复杂的应用场景需求。
注:可能还有很多种方式可以实现需求,这里讲述 ODBC+FreeTDS 的方式。
根据文章《FreeTDS从Linux访问Windows SqlServer数据库》中说明验证就可以,这里不在累赘。
yum install unixODBC
yum install unixODBC-devel
这里重新编译FreeTDS,是为了使FreeTDS支持ODBC管理,即要生成 libtdsodbc.so 驱动库,方便配置。
 根据官网《How to build: Configure and make》章节介绍,在使用 configure 命令时,要加上 –with-unixodbc,才能生成 libtdsodbc.so 驱动库,使FreeTDS支持ODBC管理。
./configure --prefix=/usr/local --with-tdsver=7.4 --with-unixodbc=/usr --enable-msdblib
–with-unixodbc 参数的路径一定要写对,不然编译不过,会提示找不到sql.h文件。
 配置好后就按文章《Linux系统上编译安装FreeTDS库文件》中的介绍编译安装好即可。
还是采用文章《FreeTDS从Linux访问Windows SqlServer数据库》中的配置不用变
# The server you added yourself [myWin130]         host = 192.168.1.130         port = 1433         tds version = 7.0 这个配置文件中,存储了ODBC驱动程序的信息,可以指定驱动程序。
 在配置文件中添加如下代码:
[FreeTDS] Description=FreeTDS Driver for Linux Driver=/usr/local/lib/libtdsodbc.so Setup=/usr/local/lib/libtdsodbc.so UsageCount=1  这里,添加了一个别名为 FreeTDS 的驱动(名字可以随便起,符合实际意义就好),这个驱动的信息为:
此文件用来配置ODBC的数据源名称,在配置文件中添加如下代码:
[win130] Driver = FreeTDS Servername = myWin130 Database = fy2000 解释:
[root@localhost ~]# isql -v win130 sa 123456 +---------------------------------------+ | Connected!                            | |                                       | | sql-statement                         | | help [tablename]                      | | echo [string]                         | | quit                                  | |                                       | +---------------------------------------+ select * from tb_student_info where class>2 +----------------+------------+------------+------------+ | name           | class      | age        | hight      | +----------------+------------+------------+------------+ | 小红            | 6          | 35         | 130        | | 小兵            | 3          | 25         | 234        | +----------------+------------+------------+------------+ SQLRowCount returns 2 2 rows fetched SQL> quit [root@localhost ~]#  到这里配置的ODBC就起作用了。
新建 test .NET8 项目,在项目中安装 System.Data.Odbc 软件包,
Program.cs 文件内容如下:
using System.Data.Odbc;  string connectionString = "DSN=win130;UID=sa;PWD=123456;"; using (OdbcConnection connection = new OdbcConnection(connectionString)) {     try     {         connection.Open();         Console.WriteLine("Connection opened successfully.");          // 执行 SQL 查询           string sql = "SELECT * FROM tb_student_info";         OdbcCommand command = new OdbcCommand(sql, connection);          using (OdbcDataReader reader = command.ExecuteReader())         {             while (reader.Read())             {                 // 处理查询结果                   Console.WriteLine(String.Format("{0}, {1}, {2}, {3}", reader[0], reader[1], reader[2], reader[3]));             }         }     }     catch (Exception ex)     {         Console.WriteLine("Error: " + ex.Message);     } } 发布到Linux服务器并运行
[root@localhost test]# dotnet test.dll Connection opened successfully. 小美, 2, 18, 123 小红, 6, 35, 130 小兵, 3, 25, 234 [root@localhost test]#  可以看到程序运行成功。
                    上一篇:联想a798t刷小米系统教程
                
下一篇:华硕显卡序列号字母代表什么