Win2k, VB6SP5, Oracle 8.1.7由于其他种种原因,必须使用ADO和通过 Microsoft ODBC for Oracle 建立
ODBC连接(以前用的是Oracle ODBC Driver)。现在遇到的问题是这样的,
当ADO.QueryDef的SQL语句不用分号结尾时,执行是正确的,但是当SQL语句
用分号结尾时,执行就会出错,出错的信息比较怪:ODBC---调用错误,而以前使用Oracle ODBC Driver时,两种SQL语句都能运行通过。
下面是程序的一部分,请参考Public Const ODBC = "ODBC;Driver={Microsoft ODBC for Oracle};SERVER=oracle_db;UID=userID;PWD=password;"
Public WS As DAO.Workspace
Public DB As DAO.Database
Set WS = DBEngine.Workspaces(0)
Set DB = WS.OpenDatabase("oracle_db", False, False, ODBC)
Dim Qu As DAO.QueryDef, RE As DAO.Recordset
Set Qu = DB.CreateQueryDef("")
Qu.Connect = ODBCQu.SQL = "SELECT * FROM table_name;"
'Qu.SQL = "SELECT * FROM table_name"Qu.ReturnsRecords = True
Set RE = Qu.OpenRecordset(dbOpenForwardOnly)现在的问题是,程序规模较大,现有的代码里面两种SQL语句都存在,请问有没有好的解决方法(请不要告诉我逐条修改SQL语句,或者更换环境)?
一旦解决,立马给分。
ODBC连接(以前用的是Oracle ODBC Driver)。现在遇到的问题是这样的,
当ADO.QueryDef的SQL语句不用分号结尾时,执行是正确的,但是当SQL语句
用分号结尾时,执行就会出错,出错的信息比较怪:ODBC---调用错误,而以前使用Oracle ODBC Driver时,两种SQL语句都能运行通过。
下面是程序的一部分,请参考Public Const ODBC = "ODBC;Driver={Microsoft ODBC for Oracle};SERVER=oracle_db;UID=userID;PWD=password;"
Public WS As DAO.Workspace
Public DB As DAO.Database
Set WS = DBEngine.Workspaces(0)
Set DB = WS.OpenDatabase("oracle_db", False, False, ODBC)
Dim Qu As DAO.QueryDef, RE As DAO.Recordset
Set Qu = DB.CreateQueryDef("")
Qu.Connect = ODBCQu.SQL = "SELECT * FROM table_name;"
'Qu.SQL = "SELECT * FROM table_name"Qu.ReturnsRecords = True
Set RE = Qu.OpenRecordset(dbOpenForwardOnly)现在的问题是,程序规模较大,现有的代码里面两种SQL语句都存在,请问有没有好的解决方法(请不要告诉我逐条修改SQL语句,或者更换环境)?
一旦解决,立马给分。
解决方案 »
- 50分求 vb6.0中 使用北京用友华表的cell组件如何把报表显示成图表
- 水晶报表问题
- treeview如何显示sqlserver表中的数据
- 在vb中如何改变textbox控件数组的索引
- 500分求几个控件.类似于sstab,mschart但是要求功能多,具备xp风格.
- 请教各位:这种unrecognized database format 'd:\person.mdb'错误是什么原因
- 不能更新数据库的问题(初学都的问题)
- 再次发帖:XP下vb6用ADO2.8,在WIN7下无响应
- 如何高亮度显示??
- 散分啦!两个局域网,中间光缆连接,现要访问另一网上的SQL,怎么编?
- 克扣俺的可用分!!!!!!!!!!!!!谁干的!?
- 在线急问:日期格式问题
谢谢楼上提示,ADO也存在同样的问题。但是用Delphi就没有问题了,比较怪异。
另外,必须使用DAO.
我怀疑是微软的Bug。wuwu