VC访问sybase数据库的问题,怎么就是连接失败?
不知道还缺少什么?使用了很多种连接方法,总是报告失败。
我的做法是:
安装sybase服务版。
安装sybase客户版。
编写程序,使用了很多种连接字符串,也尝试了很多种odbc配置方法,都是失败!
郁闷呀,谁来帮我一下。我到底还缺少些什么呀?
环境:windows2000 + sqlserver2000 + sybase11.9.2 + ado2.6。
以下是用过的一些连接语句:
Provider=Sybase.ASEOLEDBProvider.2;Server Name=xx.xx.xx.xx;Network Protocol=Winsock;Server Port Address=4096;User ID=username;Persist Security Info=True;PassWord=xxxxx;Initial Catalog=dbname
strtemp = "Provider = MSDASQL ;DRIVER={Sybase System 11};";
strtemp += "SERVER= ";
strtemp += m_sMachine;
strtemp += ";Database = ";
strtemp += m_sDB;
strtemp += ";UID= ";
strtemp += m_sLogin;
strtemp += ";PWD = ";
strtemp += m_sPswd;
lstrtemp =(LPCTSTR)strtemp;
strCon = "Driver={Sybase System 11};Srvr=127.0.0.1;Uid=sa;Pwd=;";
问题点数:0、回复次数:5Top
1 楼hbboy(VC++)回复于 2004-08-17 16:06:08 得分 0
通过odbc连接容易,可是通过ado连接sybase比较困难,试了好多次也没有成功!Top
2 楼glaanna(郁闷中...)回复于 2004-08-19 22:03:58 得分 0
我在这种情况下也连接不上,但是Provider=MSDATASQL.1的情况下就可以在客户端连通,但在sybase服务器本地用这种方法连通后会出现异常,程序运行一段时间就死机,期待解决中...Top
3 楼laiyiling(陌生人[MVP])回复于 2004-08-19 23:05:59 得分 0
ODBC Driver for SyBase
strConnect = _T("Driver={Sybase System 10};Srvr=MyServerName;Uid=MyUsername;"
"Pwd=myPassword;");
ODBC Driver for Sybase Sql AnyWhere
strConnect = _T("ODBC;Driver=Sybase SQL Anywhere 5.0;"
"DefaultDir=C:\\DatabasePath\;Dbf=C:\\SqlAnyWhere50\\MyDatabase.db;"
"Uid=MyUsername;Pwd=MyPassword;Dsn=\"\";");
用ADO,装个mdac.exe。现在最新版是2.8Top
4 楼glaanna(郁闷中...)回复于 2004-08-27 09:39:00 得分 0
参考:
http://community.csdn.net/Expert/topic/3288/3288815.xml?temp=.44508
第一,看看你的sybase的安装是否正确,因为安装sybase是一件烦琐的事情,确认你用的数据库是sybase adeptive enterprise,还是sybase sqlserver anywhere 7?
第二,好好检查连接串,不要只尝试别人的连接串,只要自己的连接串信息很全,数据库的安装正确,odbc配置正确的话就可以连接成功!
第三,我觉得版本问题一般不会有,除非你用98和98以下系统,尽量不要怀疑是系统的bug,往往是我们的操作和代码有问题!Top
5 楼tabby(-_-b .. 内存泄漏)回复于 2004-08-27 09:52:11 得分 0
你把数据库文件所在目录的所有LOG文件删除掉再试试看。Top




