Foxtable(狐表)用户栏目专家坐堂 → ORACLE 表的读取


  共有2518人关注过本帖树形打印复制链接

主题:ORACLE 表的读取

帅哥哟,离线,有人找我吗?
lake163
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:童狐 帖子:276 积分:2971 威望:0 精华:0 注册:2010/9/20 11:21:00
ORACLE 表的读取  发帖心情 Post By:2017/12/12 11:17:00 [只看该作者]

有一ORACLE数据源,通过Connections的  GetTableNames 属性获取的表名称为如下格式:


图片点击可在新窗口打开查看此主题相关图片如下:1.png
图片点击可在新窗口打开查看


直接通过获取的表名称, 如"HZZSK"."RS_SUB_XL",并不能访问该表,去掉双引号仍然如此。

请问如何处理?

[此贴子已经被作者于2017/12/12 11:22:47编辑过]

 回到顶部
帅哥哟,离线,有人找我吗?
有点甜
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2017/12/12 11:22:00 [只看该作者]

执行sql语句也不行,比如

 

select * from "HZZSK"."RS_SUB_XL"

 

select * from HZZSK.RS_SUB_XL

 

http://www.foxtable.com/webhelp/scr/1484.htm

 


 回到顶部
帅哥哟,离线,有人找我吗?
lake163
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:童狐 帖子:276 积分:2971 威望:0 精华:0 注册:2010/9/20 11:21:00
  发帖心情 Post By:2017/12/12 11:26:00 [只看该作者]

执行SQL语句都可以调出数据

 回到顶部
帅哥哟,离线,有人找我吗?
有点甜
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2017/12/12 11:27:00 [只看该作者]

 你说直接调用怎么调用的?如果你没有加入表,怎么可以直接调用?

 回到顶部
帅哥哟,离线,有人找我吗?
lake163
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:童狐 帖子:276 积分:2971 威望:0 精华:0 注册:2010/9/20 11:21:00
  发帖心情 Post By:2017/12/12 13:15:00 [只看该作者]

解决了,在生成查询表时,还需要先指定数据源。

 回到顶部
帅哥哟,离线,有人找我吗?
lake163
  6楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:童狐 帖子:276 积分:2971 威望:0 精华:0 注册:2010/9/20 11:21:00
  发帖心情 Post By:2017/12/12 13:41:00 [只看该作者]

再请问:用下列代码想将ORCL数据源中所有的表的列取出来,填到一个表中。
一是感觉到有点复杂,有没有简单的方法;
二是运行中途会出现错误。
(下面的代码中,有SEL的地方因系统限制,删除了若干字符)
Dim lst As List(Of String)
lst = Connections("orcl").GetTableNames
For Each nm As String In lst
       nm = nm.Replace("""","")
        Dim q As new QueryBuilder
        q.TableName = "临时表"
        q.Sel????= "Sel??? * From { " & nm & "}"
        q.C
        q.Build
        For Each dc As DataCol In DataTables("临时表").DataCols
            Dim dr As DataRow = DataTables("ORCLTABLE").AddNew
            dr("TABLE") = nm
            dr("COLName") = dc.name
        Next
 Next
[此贴子已经被作者于2017/12/12 13:52:02编辑过]

 回到顶部
帅哥哟,离线,有人找我吗?
有点甜
  7楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2017/12/12 14:19:00 [只看该作者]

报什么错?请截图说明

 

Dim lst As List(Of String)
lst = Connections("orcl").GetTableNames
For Each nm As String In lst
    nm = nm.Replace("""","")
    Dim q As new QueryBuilder
    q.TableName = "临时表"
    q.SelectString = "select * From " & nm & " where 1=2"
    q.ConnectionName = "orcl"
    q.Build
    For Each dc As DataCol In DataTables("临时表").DataCols
        Dim dr As DataRow = DataTables("ORCLTABLE").AddNew
        dr("TABLE") = nm
        dr("COLName") = dc.name
    Next
Next


 回到顶部
帅哥哟,离线,有人找我吗?
lake163
  8楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:童狐 帖子:276 积分:2971 威望:0 精华:0 注册:2010/9/20 11:21:00
  发帖心情 Post By:2017/12/12 15:42:00 [只看该作者]


加了   where 1=2 后,没有问题了。
请问这是什么意思啊?

 回到顶部
帅哥哟,离线,有人找我吗?
有点甜
  9楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2017/12/12 15:44:00 [只看该作者]

 where 1=2 的意思是,不加载数据。

 回到顶部
帅哥哟,离线,有人找我吗?
桃花笑
  10楼 | QQ | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:幼狐 帖子:88 积分:671 威望:0 精华:0 注册:2018/4/11 14:25:00
  发帖心情 Post By:2018/4/13 10:56:00 [只看该作者]

 请问,你连接oracle数据库吗,求教成功连接。

 回到顶部
总数 11 1 2 下一页