vb中我定义了一个函数ExecuteSQLORA 如下:
Public Function ExecuteSQLORA(strSQL As String) As Object
  Dim OraSession As Object
   '定义OraSession和OraDatabase为OLE对象
  Dim OraDatabase As Object
   '创建一个OraSession对象
  Set objSession = CreateObject("OracleInProcServer.XOraSession")
   '通过打开一个对Oracle的连接创建数据库对象
  Set objDatabase = objSession.OpenDatabase("myoracle", "cgsys/cgsys", 0)
  Set oraDynaSet = objDatabase.DBCreateDynaset(strSQL, 0)
  Set ExecuteSQLORA = oraDynaSet
End Function
我拼装了一个字符串:
SQL="INSERT INTO TRAIN_INFO_T(ID,TRAIN_NO,SUPPLY_UNIT,MAO_WEIGHT,PI_WEIGHT,JING_WEIGHT,MAO_TIME) VALUES ( 1,4874277,'销售公司',77.98,22.1,55.88,'200807141617');
INSERT INTO TRAIN_INFO_T(ID,TRAIN_NO,SUPPLY_UNIT,MAO_WEIGHT,PI_WEIGHT,JING_WEIGHT,MAO_TIME) VALUES ( 3,1411010,'销售公司',75.3,19.8,55.5,'200807141621');
INSERT INTO TRAIN_INFO_T(ID,TRAIN_NO,SUPPLY_UNIT,MAO_WEIGHT,PI_WEIGHT,JING_WEIGHT,MAO_TIME) VALUES ( 4,4833525,'销售公司',77.12,22,55.12,'200807141622'); "
然后将该字符串传递给函数ExecuteSQLORA(SQL),结果出现错误:实时错误'440'
SQL execution error,ORA-00911:invalid character我原以为是sql语句有问题,结果我到oracle数据库中执行该sql语句,没有问题,请问这是怎么回事?

解决方案 »

  1.   

    刚开始接触vb与oracle
    能否详细一点
      

  2.   

    ORA-00911: invalid character 
    Cause: identifiers may not start with any ASCII character other than letters and numbers. $#_ are also allowed after the first character. Identifiers enclosed by doublequotes may contain any character other than a doublequote. Alternative quotes (q'#...#') cannot use spaces, tabs, or carriage returns as delimiters. For all other contexts, consult the SQL Language Reference Manual.
    Action: none
    测试时,把汉字先换成字符串试试,应该可以!
      

  3.   

    vb。不知道。
    反正java是可以的。用批处理。