windows7下sybase12.5连接失败

dd_1d 2016-09-12 03:01:04
这边人可能多点,在sybase那边问了半天没人理我

开发环境:VS2010
数据库:sybase12.5
连接字符串:Provider=ASEOLEDB.1;Persist Security Info=False;User ID=guoxd;Data Source=192.168.169.201:5000
错误信息:[ASEOLEDB]Data source not found and no default driver specified
描述:
目前现在开发已经完成了,使用VS调试的时候能够正常连接到数据库,并实现所有数据库操作的功能。准备结束的时候在debug里面点击.exe文件直接启动程序,就报出了[ASEOLEDB]Data source not found and no default driver specified的错误信息。大概的意思就是没有找到ASEOLEDB数据源,这里我就不懂了,没有数据源的话,VS调试怎么又成功了呢?两种启动C++程序的方式有什么异同?
根据网上百度到的资料做了一下尝试,在C:\Sybase\OLEDB/sydaadm.exe里面添加了一个数据源,test connect成功,然而直接点击exe文件还是失败,失败原因同上。


到底是为什么啊??,有人能回答我吗?谢谢!
...全文
174 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
赵4老师 2016-09-12
  • 打赏
  • 举报
回复
在win64位系统下设置32位程序使用的数据库别名printCard要用c:\windows\syswow64\cliconfg.exe
dd_1d 2016-09-12
  • 打赏
  • 举报
回复
引用 1 楼 zhao4zhong1 的回复:
在64位Windows下: 64位exe和dll在目录c:\windows\system32目录下; 32位exe和dll在目录c:\windows\syswow64目录下; 所以要注意: 在win64位系统下注册32位ocx或dll需要将32位ocx或dll拷贝到c:\windows\syswow64\目录下。 且注册要用c:\windows\syswow64\regsvr32 xxxxxxx.ocx或dll 在win64位系统下设置32位程序使用的数据库别名要用c:\windows\syswow64\cliconfg.exe 在win64位系统下设置32位程序使用的系统DSN要用c:\windows\syswow64\odbcad32.exe
顺便再问一下,在test connect中测试成功,是不是已经能够说明我的驱动都安装配置正确了吗
dd_1d 2016-09-12
  • 打赏
  • 举报
回复
引用 1 楼 zhao4zhong1 的回复:
在64位Windows下: 64位exe和dll在目录c:\windows\system32目录下; 32位exe和dll在目录c:\windows\syswow64目录下; 所以要注意: 在win64位系统下注册32位ocx或dll需要将32位ocx或dll拷贝到c:\windows\syswow64\目录下。 且注册要用c:\windows\syswow64\regsvr32 xxxxxxx.ocx或dll 在win64位系统下设置32位程序使用的数据库别名要用c:\windows\syswow64\cliconfg.exe 在win64位系统下设置32位程序使用的系统DSN要用c:\windows\syswow64\odbcad32.exe
赵老师,很谢谢你啊,我上一个帖子也是您回复的。 我之前使用的是OLEDB的连接方式,根据您说的注册注意点,重新注册了一次,还是失败了。 然后又用c:\windows\syswow64\odbcad32.exe使用系统DSN试了一下 test connect返回是:Connection established! 修改连接字符串:prodiver={Sybase ASE ODBC Driver};Srvr=printCard;database=test;uid=guoxd;pwd=guoxd1123; 连接时继续报错,返回:[Microsoft][ODBC 驱动程序管理器] 未发现数据源名称并且未指定默认驱动程序 这问题纠结我一天,VS下能成功运行,在exe却连接不上,真的不懂
赵4老师 2016-09-12
  • 打赏
  • 举报
回复
在64位Windows下: 64位exe和dll在目录c:\windows\system32目录下; 32位exe和dll在目录c:\windows\syswow64目录下; 所以要注意: 在win64位系统下注册32位ocx或dll需要将32位ocx或dll拷贝到c:\windows\syswow64\目录下。 且注册要用c:\windows\syswow64\regsvr32 xxxxxxx.ocx或dll 在win64位系统下设置32位程序使用的数据库别名要用c:\windows\syswow64\cliconfg.exe 在win64位系统下设置32位程序使用的系统DSN要用c:\windows\syswow64\odbcad32.exe

3,881

社区成员

发帖
与我相关
我的任务
社区描述
C/C++ 其它技术问题
社区管理员
  • 其它技术问题社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧