
因为windows是64位的,Office是32位的,Access自然也是32位的,Oralce数据库是64位的,Oracleclient客户端也是64位,OracleODBC他设置的是64位的,默认控制面板打开的ODBC是64位的,这样它是使用32位的Access通过64位的oralceodbc去联接Oralce服务器,肯定连不通的。
使用c:\windows\Syswow64\odbcad32.exe打开32位ODBC数据源设置界面,添加一个32位的oracleodbc源,输入正确的oracle用户名与密码,再使用32位的Access通过32位的oralceodbc去联接Oralce服务器,连接正常,或改为64位的Access通过64位的oralceodbc去联接Oralce数据库服务器也是可以的。
原理 先在MDB文件中建立目标表的Link表 然后用本地 *** 作MDB数据库的方式复制一个表的全部或者部分 删除Link表 至此 已经完成数据库的备份 此方法不通过循环 速度还算理想 实现 首先假设ODBC中设置了一个Oracle的数据源 其数据库服务名为LinkDataBase DSN为ORAODBC 用户名是Administrator 密码Password 把表Oracle_Table导入到C:\Temp mdb的MDB_DATABASE 中间步骤链接表的名称为TempLink Dim DB As DAO Database 数据库对象 DAO Dim tbLink As DAO TableDef 表对象 打开备份目标MDB Set DB = OpenDatabase( C:\Temp mdb ) 以下开始创建Link表 Set tbLink = DB CreateTableDef( TempLink ) 设置连结字符串 tbLink Connect = ODBCDATABASE=LinkDataBaseUID=AdministratorPWD=PasswordDSN=ORAODBC tbLink SourceTableName = LinkDataBase Oracle_Table DB TableDefs Append tbLink 复制表(可加条件) DB Execute select * into MDB_DATABASE from TempLink 删除链接表 DB TableDefs Delete TempLink lishixinzhi/Article/program/Oracle/201311/18615
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)