Sql oracle查询以查看数据类型列表
我尝试在datagridview vb.net中显示我的表数据类型。以下是示例代码:Sql oracle查询以查看数据类型列表,sql,vb.net,oracle,datagridview,Sql,Vb.net,Oracle,Datagridview,我尝试在datagridview vb.net中显示我的表数据类型。以下是示例代码: oradb = "Data Source=(DESCRIPTION=" _ + "(ADDRESS_LIST=(ADDRESS=(PROTOCOL=TCP)(HOST=" & txtServer1.Text & ")(PORT=" & port1.Value & ")))" _ + "(CONNECT_DATA=(SERVER=DEDICA
oradb = "Data Source=(DESCRIPTION=" _
+ "(ADDRESS_LIST=(ADDRESS=(PROTOCOL=TCP)(HOST=" & txtServer1.Text & ")(PORT=" & port1.Value & ")))" _
+ "(CONNECT_DATA=(SERVER=DEDICATED)(SERVICE_NAME=" & txtSID.Text & ")));" _
+ "User Id=" & txtUsername1.Text & ";" _
+ "Password=" & txtPassword1.Text
Dim connOracle As New OracleConnection(oradb)
Try
connOracle.Open()
connOracle.Close()
Catch ex As Exception
MessageBox.Show(ex.Message.ToString())
Finally
End Try
SQL = "desc hr.employees"
myCommand1.Connection = connOracle
myCommand1.CommandText = SQL
myAdapter1.SelectCommand = myCommand1
myAdapter1.Fill(myTablePreview)
DataGridView1.DataSource = myTablePreview
我尝试使用用户名“system”登录。运行此代码时,收到错误消息“ORA-00900:无效SQL语句”
我的问题有错吗??
请帮帮我。thank的..
DESC
是一个SQL PLus命令
您可能需要执行实际的查询,如
select *
from all_tab_cols
where table_name = 'EMP'
DESC(descripe)是一个SQL*Plus命令,不是SQL动词。SQL*Plus是SQL的前端工具,因此它添加了一些自己的命令,这就是其中之一。在使用OLEDB时,必须坚持使用SQL
如果要在客户端程序中使用此数据,可能需要尝试以下操作:
select *
from all_tab_columns
where table_name = '<your table name>'
这是纯(Oracle)SQL,您可以在SQL*Plus中进行实验,直到获得所需的列集
Devian Yudha,是的,这完全是我的意思,但当我对代码进行查询时,没有什么问题。VB.Net无法识别,这就是你的意思吗?你可以用你的桌子换。从表名为'DEPT'yupz的所有_tab_列中选择*就是一个例子。不要用它。如果你想使用高级查询语法(AQS),你首先可以阅读这篇文章。
Select COLUMN_NAME
from user_tab_columns
where table_name='EMP'