odbc 连接sybase

来源:互联网 发布:知乎fbi气场修炼术 编辑:程序博客网 时间:2024/05/21 15:40

通过odbc连接sybase,以下两种连接串都行吗?
1.[DSN=test;password=******;persist   security   info=True;user   id=******]
2.[DSN=test;persist   security   info=True;user   id=******;pwd=******]

 

 

 

配置:

 

 

具体步骤:

一.在服务器端以

dbsrv7.exe path/yyy.db -n
ServiceName -x tcpip -q

启动数据库,这里也可以指定端口,详细的参数请用dbsrv7.exe /?获取。

-n servicename:启动服务名为servicename的数据库服务用以标记网络数据库服务唯一标记;

-x tcpip:使用tcp/ip协议,默认端口3362,注意不要被占用;

-q 后台方式运行,没有数据库运行界面,只能看到进程;

二.启动成功后,另外机器操作:ODBC->新建一个Adaptive SQL Anywhere7.0数据源,配置如下:

1.ODBC->dns name: 数据源名称

2.Login->登录用户/密码

3.Database-> ServerName处输入步骤一中指定的serviceName

4.Network -> 钩中tcp/ip,参数处输入一中启动服务器所在机器的IP,格式如下: HOST=192.168.0.1其他协议都可以不选。


 

 

1、ODBC 方式

..NET连接时使用连接串 如“Driver={Sybase System 11};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);

 

 

 

//调用Sybase存储过程

private  Button2_Click(object   sender, System.EventArgs   e)

 { 

       try

{  string  StrCon="Driver={Sybase   System ; 11};Srvr=server;database=Tax;uid=sa;pwd=;";   

OdbcConnection   Conn=new  OdbcConnection(StrCon);  Conn.Open(); 

 OdbcParameter  Parameter;

 OdbcCommand  Comm=new OdbcCommand("{   CALL  test(?)   }",Conn);  Comm.CommandType=CommandType.StoredProcedure; 

'Parameter=Comm.Parameters.Add("@b",OdbcType.VarChar,10);

Parameter.Direction=ParameterDirection.Input;

Parameter.Value=this.TextBox1.Text;

OdbcDataReader  Reader=Comm.ExecuteReader();  this.DataGrid1.DataSource=Reader;  this.DataGrid1.DataBind(); }

catch(Exception   Err)  {  Response.Write(Err.Message); }  }

原创粉丝点击