ORA-00903: 表名无效

qq_36871210 2020-05-20 03:23:17
System.Data.OracleClient.OracleException (0x80004005): ORA-00903: 表名无效


at System.Data.OracleClient.Oci.OciStatementHandle.Execute (System.Boolean nonQuery, System.Boolean useAutoCommit, System.Boolean schemaOnly) [0x000b4] in <e3ead313520d437985d40eb60b64020f>:0
at System.Data.OracleClient.Oci.OciStatementHandle.ExecuteQuery (System.Boolean schemaOnly) [0x00000] in <e3ead313520d437985d40eb60b64020f>:0
at System.Data.OracleClient.OracleCommand.ExecuteReader (System.Data.CommandBehavior behavior) [0x00080] in <e3ead313520d437985d40eb60b64020f>:0
at System.Data.OracleClient.OracleCommand.ExecuteReader () [0x00000] in <e3ead313520d437985d40eb60b64020f>:0
at (wrapper remoting-invoke-with-check) System.Data.OracleClient.OracleCommand.ExecuteReader()
at SW.ConnectSQLServerOperate.Read_查_连续某几行 (System.String databaseTableName, System.String id, System.Int32 fromLine, System.Int32 lines) [0x00044] in C:\Users\57891\Desktop\1\Assets\Scripts\ConnectSQLServer\ConnectSQLServerOperate.cs:157
UnityEngine.Debug:Log(Object)
SW.ConnectSQLServerOperate:Read_查_连续某几行(String, String, Int32, Int32) (at Assets/Scripts/ConnectSQLServer/ConnectSQLServerOperate.cs:163)
Test:RebuildModel000() (at Assets/Scripts/ConnectSQLServer/Test.cs:109)
Test:Update() (at Assets/Scripts/ConnectSQLServer/Test.cs:74)


SW.ConnectSQLServerOperate:Read_查_连续某几行(String, String, Int32, Int32)
/// <summary>
/// 读取数据的连续某几行表的内容
/// </summary>
/// <param name="databaseTableName">数据库的名称.[dbo].表名</param>
/// <param name="id">存储id列的名字</param>
/// <param name="fromLine">起始行id</param>
/// <param name="line">查询的行数</param>
public void Read_查_连续某几行(string databaseTableName, string id, int fromLine, int lines)
{

OpenMySQL();

try
{
//从表中取出第 fromLine 条向下连续查询lines条


string sqlWord = String.Format("select * from {0} where rownnm <= {3} and {1} not in (select {1} from {0} where rownnm <= {2}) order by {1}",
databaseTableName, id, fromLine - 1, lines);

OracleCommand cmd = new OracleCommand(sqlWord, con);
OracleDataReader reader = cmd.ExecuteReader();
//todo:使用线程去完成读取操作
SomeLinesValueIntervalFive(reader, 5);
}
catch (Exception exception)
{
Debug.Log(exception);
}
finally
{
con.Close();
}

}

Test:RebuildModel000()

public void RebuildModel000()
{
if (!isRebuilding)
{
isRebuilding = true;
renovatHintText.text = "刷新模型中... ...";
指示灯_Image.color = Color.red;
//Loom.QueueOnMainThread(() =>
//{
int index = mei.Length - 1;
connectSQLServerOperate.Read_查_连续某几行("[gwj_db].[dbo].[100]", ColumNames.id, 1300, 300);
Mesh mesh0 = mei[index].GetComponent<MeshFilter>().mesh;
Vector3[] a = mesh0.vertices;
for (int row = 0; row < connectSQLServerOperate.lines.GetLength(0); row++)
{
for (int rank = connectSQLServerOperate.lines.GetLength(1) - 1; rank > 0; rank--)
{
int i = (row + 1) * (connectSQLServerOperate.lines.GetLength(1) + 1) + rank;
a[i] = new Vector3(a[i].x, connectSQLServerOperate.lines[row, rank] / heightLimit, a[i].z);
}
}
mesh0.vertices = a;
mei[index].GetComponent<MeshFilter>().mesh = mesh0;
isRebuilding = false;
RebuildModel001();
// });
}
}


Test:Update()

void Update()
{
isConnected = connectSQLServerOperate.isConnected;
if (isConnected)
{
//connectSQLServerOperate.Read_查_一行(ColumNames.tableName, ColumNames.id, "1130");
//cub.transform.position = new Vector3(readValue.Px, readValue.Py, readValue.Pz);
//cub.transform.rotation = Quaternion.Euler(readValue.Rx, readValue.Ry, readValue.Rz);
timer += Time.deltaTime;
if (timer > renovateInterval)
{
timer = 0;
RebuildModel000();
}

}
}


是不是我的SQL语句有问题?求个大佬解决下这个问题
...全文
633 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
js14982 2020-05-21
  • 打赏
  • 举报
回复
引用 2 楼 qq_36871210 的回复:
[quote=引用 1 楼 js14982 的回复:] oracle中的表名是 [用户名].[表名], 你的 数据库的名称.[dbo].表名 这种格式不对,找不到表名的,你这种是sql server的写法吧
是的,程序原本是mysql,我把转成Oracle的。 问一下大佬这段语句怎么改?我自己改一直错误。。。 server_name = orcl ;user id = scott ; password = tiger ;表名是 100 ;[/quote] 直接写表名吧,表名没有100这样的,不能以数字开头或纯数字
qq_36871210 2020-05-21
  • 打赏
  • 举报
回复
引用 1 楼 js14982 的回复:
oracle中的表名是 [用户名].[表名], 你的 数据库的名称.[dbo].表名 这种格式不对,找不到表名的,你这种是sql server的写法吧
是的,程序原本是mysql,我把转成Oracle的。 问一下大佬这段语句怎么改?我自己改一直错误。。。 server_name = orcl ;user id = scott ; password = tiger ;表名是 100 ;
js14982 2020-05-20
  • 打赏
  • 举报
回复
oracle中的表名是 [用户名].[表名], 你的 数据库的名称.[dbo].表名 这种格式不对,找不到表名的,你这种是sql server的写法吧

17,086

社区成员

发帖
与我相关
我的任务
社区描述
Oracle开发相关技术讨论
社区管理员
  • 开发
  • Lucifer三思而后行
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧