博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
win7(64bit)中asp.net连接sybase
阅读量:7075 次
发布时间:2019-06-28

本文共 2886 字,大约阅读时间需要 9 分钟。

  hot3.png

总的来说有三种方式:

1.ODBC :需要安装ase odbc驱动。本文里用的是ase15版本

2.OLEDB:需要安装ase oledb驱动,本文版本ase15

3.Sybase.Data.AseClient 连接 。需要Sybase.Data.AseClient.dll文件并在项目里引用。

 

连接字符串参考:

 

 

代码:

using System;using System.Collections.Generic;using System.Linq;using System.Text;using System.Data;using System.Data.Odbc;using System.Data.OleDb;using Sybase.Data.AseClient; namespace ConsoleApplication1{    class Program    {        static void Main(string[] args)        {            DBInfo dbinfo=new DBInfo{                ip="---",                port="---",                uid="---",                pwd="----"            };            string sql = "select Psam_id , Tel_no from Itel_reg_info";            Console.WriteLine("测试开始:"+DateTime.Now);            funDll(dbinfo,sql);            Console.WriteLine("DLL结束:" + DateTime.Now);            funOLEDB(dbinfo,sql);            Console.WriteLine("OLEDB结束:" +DateTime.Now);            funODBC(dbinfo,sql);            Console.WriteLine("ODBC结束:"+DateTime.Now);            Console.ReadLine();        }        static void funODBC(DBInfo dbinfo,string sql)        {            string connectionString = @"Driver={Adaptive Server Enterprise};server=" + dbinfo.ip + ";port=" + dbinfo.port + "; uid=" + dbinfo.uid + ";pwd=" + dbinfo.pwd + ";";            OdbcConnection myConnection = new OdbcConnection(connectionString);            OdbcDataAdapter myDataAdapter = new OdbcDataAdapter(sql, myConnection);            myConnection.Open();            DataSet ds = new DataSet();            myDataAdapter.Fill(ds);        }        static void funOLEDB(DBInfo dbinfo,string sql)        {            string connectionString = @"Provider=ASEOLEDB;Data Source=" + dbinfo.ip + ":" + dbinfo.port + ";User Id=" + dbinfo.uid + ";Password=" + dbinfo.pwd + ";";            OleDbConnection myConnection = new OleDbConnection(connectionString);            OleDbDataAdapter myDataAdapter = new OleDbDataAdapter(sql, myConnection);            myConnection.Open();            DataSet ds = new DataSet();            myDataAdapter.Fill(ds);        }        static DataSet funDll(DBInfo dbinfo,string sql)        {            string connectionString = @"Data Source='" + dbinfo.ip + "';Port=" + dbinfo.port + ";UID='" + dbinfo.uid + "';Password='" + dbinfo.pwd + "'";            AseConnection myConnection = new AseConnection(connectionString);            AseDataAdapter myDataAdapter = new AseDataAdapter(sql, myConnection);            myConnection.Open();            DataSet ds = new DataSet();            myDataAdapter.Fill(ds);            return ds;        }    }}
Class DBInfo:
class DBInfo    {        public string ip { get; set; }        public string port { get; set; }        public string uid { get; set; }        public string pwd { get; set; }    }

Itel_reg_info表有40万的数据,我实验的结果是funDll 2秒完成,funOLEDB  7秒完成,funODBC 16秒完成。

最后感叹一下,ODBC太坑爹了~~~~~~~

转载于:https://my.oschina.net/njlt/blog/343829

你可能感兴趣的文章
Oracle Study之案例--通过IPCS查看共享内存之“怪现象”
查看>>
func 安装之艰辛历程
查看>>
Ubuntu Server 10.10 操作手记
查看>>
Java静态代码分析工具Infer
查看>>
AIX系统学习之-CRS安装后校验
查看>>
从Code Review 谈如何做技术(zz)酷 壳
查看>>
Internet Connectivity Evaluation Tool
查看>>
LAMP 全功能编译安装 for CentOS6.3笔记(更新)
查看>>
javascript中的数据类型、Object与Function
查看>>
Python回顾与整理4:序列1—字符串
查看>>
深入浅出WPF(8)——数据的绿色通道,Binding(中)
查看>>
使用WCF Test Client(WcfTestClient.exe) 来测试WCF
查看>>
综合应用WPF/WCF/WF/LINQ之三十:代码生成器之DBMLToDAL
查看>>
.NET开源项目介绍及资源推荐:数据持久层
查看>>
RAC同单实例物理备库的switchover
查看>>
MultiRow发现之旅(三)- 模板管理器和Table
查看>>
Exchange 2010与Exchange Online混合部署PART 4:混合部署
查看>>
panama项目中字符编码问题解决
查看>>
向C#的String类添加按字节截取字符串的扩展方法
查看>>
Python中元组、列表、字典的遍历和相互转化
查看>>