环境: oracle9i windows xp mysql-5.0.37 ODBC 5.00.11
两个数据库都在一台计算机上.
1。在ODBC中配置mysqltest,用VB测试连接数据库,查询select * from test.t没有问题。2。
hs\admin下建立文件名initmysqltest.ora内容:
HS_FDS_CONNECT_INFO = mysqltest
HS_FDS_TRACE_LEVEL = 03。
在listener.ora里面填加如下:
(SID_DESC =
(SID_NAME = mysqltest)
(ORACLE_HOME = D:\oracle)
(PROGRAM = hsodbc)
)4。
在tnsnames.ora里面填加如下:
mysqltest =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = zhanghuajie)(PORT = 1521))
)
(CONNECT_DATA =
(SID = mysqltest)
)
(HS = ok)
)
5。重起listentnsping mysqltest
……
已使用 TNSNAMES 适配器来解析别名
Attempting to contact (DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP)
(HOST = zhanghuajie)(PORT = 1521))) (CONNECT_DATA = (SID = mysqltest)) (HS = ok)
)
OK(20毫秒)说明成功!6。
alter system set global_names=false;CREATE public DATABASE LINK "te" CONNECT TO "root" IDENTIFIED BY "zhj" USING 'mysqltest'; 7。----------------出现问题了SQL> select * from "t"@te;
select * from "t"@te
*
ERROR 位于第 1 行:
ORA-00942: 表或视图不存在
[Generic Connectivity Using ODBC][MySQL][MyODBC 5.00.11] column count unknown
at this time (SQL State: S1010; SQL Code: 0)
ORA-02063: 紧接着2 lines(源于TE)
我修改了MYSQL数据库root 帐户的密码为其他值,重新登入SQLPLUS后如下:SQL> select * from "t"@te;
select * from "t"@te
*
ERROR 位于第 1 行:
ORA-28500: 连接 ORACLE 到非 Oracle 系统时返回此信息:
[Generic Connectivity Using ODBC][MySQL][MyODBC 5.00.11][MySQL] 1045 Access
denied for user 'root'@'localhost' (using password: YES) (SQL State: 08001; SQL
Code: 1045)
ORA-02063: 紧接着2 lines(源于TE)
说明这个DBLINK是连接到MYSQL数据库了,不然也不会报以上错误。可问题是,为什么在密码正确的情况下我执行select * from "t"@te;会报表不存在呢??
我还执行了以下:
select * from test.t@te;
select * from "test.t"@te;
select * from t@te;都报同样的错误,——表或视图不存在!帮我解决一下………………谢谢啦!!
两个数据库都在一台计算机上.
1。在ODBC中配置mysqltest,用VB测试连接数据库,查询select * from test.t没有问题。2。
hs\admin下建立文件名initmysqltest.ora内容:
HS_FDS_CONNECT_INFO = mysqltest
HS_FDS_TRACE_LEVEL = 03。
在listener.ora里面填加如下:
(SID_DESC =
(SID_NAME = mysqltest)
(ORACLE_HOME = D:\oracle)
(PROGRAM = hsodbc)
)4。
在tnsnames.ora里面填加如下:
mysqltest =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = zhanghuajie)(PORT = 1521))
)
(CONNECT_DATA =
(SID = mysqltest)
)
(HS = ok)
)
5。重起listentnsping mysqltest
……
已使用 TNSNAMES 适配器来解析别名
Attempting to contact (DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP)
(HOST = zhanghuajie)(PORT = 1521))) (CONNECT_DATA = (SID = mysqltest)) (HS = ok)
)
OK(20毫秒)说明成功!6。
alter system set global_names=false;CREATE public DATABASE LINK "te" CONNECT TO "root" IDENTIFIED BY "zhj" USING 'mysqltest'; 7。----------------出现问题了SQL> select * from "t"@te;
select * from "t"@te
*
ERROR 位于第 1 行:
ORA-00942: 表或视图不存在
[Generic Connectivity Using ODBC][MySQL][MyODBC 5.00.11] column count unknown
at this time (SQL State: S1010; SQL Code: 0)
ORA-02063: 紧接着2 lines(源于TE)
我修改了MYSQL数据库root 帐户的密码为其他值,重新登入SQLPLUS后如下:SQL> select * from "t"@te;
select * from "t"@te
*
ERROR 位于第 1 行:
ORA-28500: 连接 ORACLE 到非 Oracle 系统时返回此信息:
[Generic Connectivity Using ODBC][MySQL][MyODBC 5.00.11][MySQL] 1045 Access
denied for user 'root'@'localhost' (using password: YES) (SQL State: 08001; SQL
Code: 1045)
ORA-02063: 紧接着2 lines(源于TE)
说明这个DBLINK是连接到MYSQL数据库了,不然也不会报以上错误。可问题是,为什么在密码正确的情况下我执行select * from "t"@te;会报表不存在呢??
我还执行了以下:
select * from test.t@te;
select * from "test.t"@te;
select * from t@te;都报同样的错误,——表或视图不存在!帮我解决一下………………谢谢啦!!
解决方案 »
- 请教如何实现sql union结果
- Oracle模糊查询,不用like还能用什么?有什么可以有like一样的效果?
- 修改启动参数导致数据库不可用
- ORA-12528: TNS:listener: all appropriate instances are blocking new connections
- SELECT赋权限问题
- 在两个表空间中CREATE TABLE
- 问一个表格格式转换的sql语句
- 请帮我看看这个blob问题[jsp处理blob]
- sql 数据库导入数据到 Oracle中出现的问题
- 执行存储过程参数
- 使用OCIBindByPos和OCIBindArrayOfStruct批量插入记录的问题,高手请进!!
- oracle group_concat运用,有兴趣请进
另外,一般情况下,select * from table,别加双引号.除非再建表的时候,表的名字就是"table"
不会,关注
………………
是ODBC驱动的问题,换个3.5的就可以了汗
比如select count(*) from x; 如果正确结果是零的话,可能通过DBLINK查询的结果是48
哪位大侠知道怎么解决呢?
mysql 5.1.11-beta
oracle10g
odbc 3.51.12