显示标签为“sybase”的博文。显示所有博文
显示标签为“sybase”的博文。显示所有博文

2013年4月15日星期一

C#操作Sybase数据库

最近做一个车辆征税系统的项目,要用到Sybase数据库,但自己又从来没有学过此数据库,要连接此数据库,真不知道怎么下手,网上高手多,但是都不是说的很清楚,我网上的资料都看遍了。也没有找到好的方法。ODBC ,OLEDB等等连接都试了。但是都出现各种问题。但是最终还是尝试成功了。现我给大家分享一下。顺便说一下此代码算是操作Sybase的最好的解决方案,最近项目多,就不多说了。大家下载源代码就看懂了。
数据库:ase1252_de_win
.NET:VS2008的源代码
bin文件夹里面有三个文件,大家COPY到自己的项目里面就可以用了
Sybase.Data.AseClient.dll
sybdrvado11.dll
sybdrvssl.dll
代码就不多分析了,大家应该都能看得懂


using System;
using System.Configuration;
using System.Data;
using System.Linq;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.HtmlControls;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Xml.Linq;

using Sybase.Data.AseClient;

public partial class _Default : System.Web.UI.Page
{
    protected void Page_Load(object sender, EventArgs e)
    {
        AseConnection conn = new AseConnection("Data Source='220.202.38.100';Port='5000';UID='sa';PWD='';Database='master';");
        AseCommand cmd = null;
        AseDataReader reader = null;
        try
        {
            conn.Open();
            cmd = new AseCommand("SELECT * FROM  spt_values", conn);
            reader = cmd.ExecuteReader();
            GridView1.DataSource = reader;
            GridView1.DataBind();
            reader.Close();
            reader.Dispose();
        }
        catch
        {

        }

    }
}
查询出来的结果是:

.Net连接Sybase数据库的几种方法[转]

从这里我们可以找到诸多数据库的配置信息:http://www.connectionstrings.com/  
1、ODBC 方式
   .Net连接时使用连接串如“Driver={Sybase ODBC Driver ASE 12.0};Srvr=xqc;database=DBData;uid=DB;pwd=11;”
   配置ODBC驱动步骤:
   a、确认Sybase12.5.1客户端安装了ODBC驱动。
   b、点击ODBC数据源管理器选择系统DSN,然后添加在弹出的对话框中选择Sybase ASE ODBC Driver 驱动点击完成,弹出Sybase ODBC详细配置窗口。 
   c、在Sybase ODBC详细配置窗口中输入Data Source Name 、NetWork Address 、Database Name;其中Data Source Name这个是连接串中Srvr要用的,NetWork Address 的格式为“Sybase数据库服务器的IP,端口号”,Database Name是你要访问的数据库名称。
   d、设置好了可以先测试下是否连上点击Test Connect 然后输入用户名密码 报“连接成功!”
   2、OLEDB 方式
   .Net连接时使用连接串如“Provider=Sybase.ASEOLEDBProvider.2;Data Source=xqc;User ID=DB;Password=11;charset=eucgb; Server Name=10.195.60.143; ”
   配置OLEDB驱动步骤:
   a、确认Sybase12.5.1客户端安装了OLEDB驱动。
   b、进入Sybase Configuration Manager 中添加一个OLEDB数据源。输入Data Source Name、选择Sybase ASE OLEDB Provider 驱动。Data Source Name这个是连接串中Data Source要用的
        c、在Sybase ASE OLEDB Provider 详细设置窗口配置Server Name、Database Name;Server Name 的格式为“Sybase数据库服务器的IP,端口号”,Database Name是你要访问的数据库名称。
    d、设置好了可以先测试下是否连上点击Test Connect 然后输入用户名密码 报“连接成功!”    

 3、用 Sybase.Data.AseClient 连接
   .Net连接时使用连接串如“Data Source=10.195.49.47;charset=eucgb;Port=5100;UID=DB;PWD=11"
   下载AseClient到本地,把Sybase.Data.AseClient.dll   sybdrvado11.dll sybdrvssl.dll三个文件Copy到项目bin文件夹中,并在项目中引用Sybase.Data.AseClient.dll ,现在就可以使用了。
   例:
AseConnection con=new AseConnection("Data Source=10.195.49.47;charset=eucgb;Port=5100;UID=DB;PWD=11");
AseDataAdapter da=new AseDataAdapter("select id,name from Tablename",con);
DataSet ds=new DataSet();
da.Fill(ds);


用ado.net访问sybase



Sybase 12.5能够很好地支持microsoft ado.net,在Sybase12.5的安装目录下有一个ado.net的目录,该目录下有三个组件:Sybase.Data.AseClient.dllsybdrvado11.dllsybdrvssl.dllSybase.Data.AseClient.dll 提供了访问Sybase的active data object,只要将这三个组件放到应用程序目录下,在应用程序中引用Sybase.Data.AseClient.dll,就能使用ado.net访问Sybase了。Sybase在其ado.net目录下还提供了C#、VB.Net的源代码,参数这些源代码就应该可以做一些数据库的操作了,如何还不够,可以通过下面URL: http://sybooks.sybase.com/adonet.html到Sybase网站上获取Sybase ASE ADO.NET Data Provider 更多技术文档。