小编Wer*_*eit的帖子

Oracle ORA-00902数据类型错误无效

我正在尝试创建两个表,这是抛出ORA-00902错误,无法弄清楚这里有什么问题...

CREATE TABLE VEHICLE_STORE
( 
  MODEL_NO VARCHAR2(12) NOT NULL,
  DESCRIPTION VARCHAR2(1000) NOT NULL,
  UNIT_PRICE NUMBER(10) NOT NULL,
  CURRENT_STOCK NUMBER(5) NOT NULL,
  CC NUMBER(3) NOT NULL,    
  CONSTRAINT vehicle_store_pk PRIMARY KEY(MODEL_NO)
);

CREATE TABLE VEHICLE_BOOKING
( 
  BOOKING_ID VARCHAR2(12) NOT NULL,
  CUSTOMER_NAME VARCHAR2(30) NOT NULL,
  EMAIL_ID VARCHAR2(30) NOT NULL,
  CONTACT NUMBER(15) NOT NULL,
  ADDRESS VARCHAR2(500) NOT NULL,
  PINCODE NUMBER(10) NOT NULL,
  MODEL_NO VARCHAR2(12) NOT NULL,
  DATE_OF_BOOKING VARCHAR2(12) NOT NULL,
  EXPECTED_DATE_OF_DELIVERY VARCHAR2(12) NOT NULL,  
  CONSTRAINT vehicle_booking_pk PRIMARY KEY(BOOKING_ID),
  CONSTRAINT vehicle_booking_fk FOREIGN_KEY(MODEL_NO) REFERENCES    VEHICLE_STORE(MODEL_NO)   
); …
Run Code Online (Sandbox Code Playgroud)

sql oracle

4
推荐指数
1
解决办法
2万
查看次数

OracleCommand.BindByName = True 到底是什么意思?

NET 应用程序并尝试更新数据库表。下面的更新查询会起作用吗?如果我设置 BindByName = True .NET 是否也会将 null 和 SYSDATE 视为参数?PS这是缩短的查询,实际查询有点复杂,所以在我尝试之前需要一些确认

cmd.Parameters.Clear()
cmd.CommandText = "UPDATE TBL_xxx_xxx SET NEXT=null, ACTIONDATE=SYSDATE, comments=:pcomments, STATUS=11 WHERE ACTIONDATE IS NULL AND WFID=:pwid AND ACTIONBY=:pactionby"
cmd.CommandType = CommandType.Text
cmd.BindByName = True

cmd.Parameters.Add(New OracleParameter(":pcomments", OracleDbType.Varchar2)).Value = somevalue
cmd.Parameters.Add(New OracleParameter(":pwid", OracleDbType.Int64)).Value = somevalue
cmd.Parameters.Add(New OracleParameter(":pactionby", OracleDbType.Varchar2)).Value = somevalue

cmd.ExecuteQuery()
Run Code Online (Sandbox Code Playgroud)

vb.net oracle

3
推荐指数
1
解决办法
2369
查看次数

Oracle 数据库中的 sysdate 和 dbtimezone 不同

有了这个查询: select sysdate from dual;

结果是:27-09-2018 07:50:50 ——这个UK时间

和 : Select dbtimezone from dual;

输出: +10:00

我想要 sysdate是同一时区的dbtimezone

我试图用 alter database set time_zone='AEST',但如果这是正确的解决方案,我有点困惑。

任何帮助最受赞赏。谢谢。

sql oracle timezone sysdate

3
推荐指数
1
解决办法
9006
查看次数

Oracle自动分区-分区的名称模式

我将使用来自Oracle 11g的自动分区,我想知道是否有任何选项可提供特定于分区名称的模式?

例如,我有:

create table 
pos_data ( 
   start_date        DATE,
   store_id          NUMBER,
   inventory_id      NUMBER(6),
   qty_sold          NUMBER(3),
) 
PARTITION BY RANGE (start_date) 
INTERVAL(NUMTOYMINTERVAL(1, 'MONTH')) 
(  
   PARTITION pos_data_init VALUES LESS THAN (TO_DATE('01-01-2017', 'DD-MM-YYYY')),
   PARTITION pos_data_201702 VALUES LESS THAN (TO_DATE('01-02-2017', 'DD-MM-YYYY')),
   PARTITION pos_data_201703 VALUES LESS THAN (TO_DATE('01-03-2017', 'DD-MM-YYYY')),
);
Run Code Online (Sandbox Code Playgroud)

我将使用init分区来包含2017年之前的所有行,然后是每个月的分区。

如何命名分区将自动生成?是否有可能创建名称结尾为YYYYMM的模式?还是我以后必须重命名那些分区?

oracle partitioning oracle11g

2
推荐指数
1
解决办法
4226
查看次数

根据日期删除多个分区

我有一个基于每日分区的表.

我可以使用以下查询删除paritition

ALTER TABLE MY_TABLE DROP PARTITION FOR(TO_DATE('19-DEC-2017','dd-MON-yyyy'))
Run Code Online (Sandbox Code Playgroud)

如何在15天之前删除所有分区(多个分区)?

oracle partition

2
推荐指数
1
解决办法
2772
查看次数

平均时间oracle sql

我正在尝试查找某个日期范围的平均开始时间,但平均功能似乎无法正常使用to_char(cast(Start_Dt as date),'HH24:MI')(Start_Dt sample:)12/12/18 02:30:13。关于如何获得理想结果的任何想法?

样品:

SELECT
job_nm
avg(to_char(cast(Start_Dt as date),'HH24:MI'))
FROM batch_table
Where Start_Dt >= trunc(sysdate-10)
group by job_nm
Run Code Online (Sandbox Code Playgroud)

错误:ORA-01722:无效号码01722。00000-“无效号码” *原因:指定的号码无效。*操作:指定一个有效数字。

理想的结果是查询仅查看最近10天运行的作业以及该期间的平均开始时间。
预期结果:

 JOB_NM | AVG Time
    open   |  2:30
    close  |  3:30
Run Code Online (Sandbox Code Playgroud)

sql oracle

2
推荐指数
2
解决办法
270
查看次数

PrincipalContext.ValidateCredentials 因“服务器无法处理目录请求”而失败。

我有一个应用程序,其中用户对我们的 Active Directory 进行身份验证:

private bool Authenticate()
{
     using (var context = new PrincipalContext(ContextType.Domain, Environment.UserDomainName)) 
     {
         return context.ValidateCredentials(this.Username.Text.Trim(), this.Password.Text.Trim());
     }
}
Run Code Online (Sandbox Code Playgroud)

它工作了好几年。现在,我们的 Windows 7 机器被 Windows 10 取代,一些用户收到此错误:

服务器无法处理目录请求。

在System.DirectoryServices.Protocols.ErrorChecking.CheckAndSetLdapError(的Int32误差)
在System.DirectoryServices.Protocols.LdapSessionOptions.FastConcurrentBind()
在System.DirectoryServices.AccountManagement.CredentialValidator.BindLdap(的NetworkCredential creds,ContextOptions contextOptions)
在System.DirectoryServices.AccountManagement。 CredentialValidator.Validate(String userName, String password)
at System.DirectoryServices.AccountManagement.PrincipalContext.ValidateCredentials(String userName, String password)
at DPI.FormLogin.Authenticate() in c:\Developing\Source\DPI\Client\DPI\FormLogin .cs:第 280 行

该错误仅对某些用户出现,而不是一直出现。也许这与现在在 Win 10 上比在 Win 7 上更严格的安全设置有关。

知道如何解决吗?如何查询当前连接的 LDAP 服务器?也许我们的服务器配置略有不同,问题仅限于可能配置错误的单个服务器。

.net c# authentication active-directory domaincontroller

2
推荐指数
1
解决办法
3608
查看次数

如何在Oracle 11g中进行系统分区?

我是数据库的新手.我想在oracle中对现有的大型数据库表进行系统分区.有人可以建议我如何在oracle数据库中为现有表实现系统分区?

注意我只是在寻找不寻找范围或哈希或复合分区的系统分区.

oracle database-administration oracle11g

1
推荐指数
1
解决办法
199
查看次数

ORA-12154: TNS: 无法解析指定的连接标识符 Entity 6 MVC Code First

我正在尝试在visiual stdio 2015 中的MVC Code-First c# 项目上启用迁移。我安装了oracle 11g odt 和客户端两台机器,我做了相同的安装,并在我的xe 数据库上创建了一个架构。两台机器是相同的 tns 文件,但其中一台在 oracle 数据库上进行了迁移,其中一台没有。我做了所有的事情,但我无法解决 ORA-12154 问题。

这个我的 TNS 文件位于 oracle 客户端和 oracexe 和 dbcontext

XE = 
  (DESCRIPTION =
    (ADDRESS_LIST =
      (ADDRESS = (PROTOCOL = TCP)(HOST = LOCALHOST)(PORT = 1521))
    )
    (CONNECT_DATA =
      (SERVICE_NAME = XE)
      (SRVR = DEDICATED)
    )
  )


ORCL = 
  (DESCRIPTION =
    (ADDRESS_LIST =
      (ADDRESS = (PROTOCOL = TCP)(HOST = 10.11.0.234)(PORT = 1521))
    )
    (CONNECT_DATA =
      (SERVICE_NAME = orcl)
    )
  )

this is my dbcontext

using System; …
Run Code Online (Sandbox Code Playgroud)

c# oracle asp.net-mvc entity-framework-migrations

1
推荐指数
1
解决办法
2514
查看次数

在oracle 10g sql plus中将日期和时间插入时间戳

我对表的insert语句出错.属性E_STIME AMD E_FTIME是事件的开始日期,开始时间和结束日期,结束时间.两者的数据类型都是TIMESTAMP (6).

我试图将数据插入到已在sracle plus中创建的表上,但是我得到了一个错误

ORA-01830:日期格式图片在转换整个输入字符串之前结束

INSERT INTO EVENT (E_ID, E_NAME, E_STIME, E_FTIME, E_COST, ET_ET_ID, V_V_ID, C_C_ID)
VALUES ('E000002', 'RAVISINGH PARTY', TO_TIMESTAMP('2017-01-11 13:00:00.00',
        'YYYY-MM-DD HH24:MI:SS'), TO_TIMESTAMP('2017-01-11 18:00:00.00',
        'YYYY-MM-DD HH24:MI:SS'),'4897.00','ET002','V0002','C0002');
Run Code Online (Sandbox Code Playgroud)

它最初给出了一个错误 -

ORA-01843:不是有效月份

TO_TIMESTAMP插入后添加了我的位ORA-01830.

我究竟做错了什么?

oracle sqlplus oracle10g

0
推荐指数
1
解决办法
524
查看次数

Oracle SQL-为什么从双中选择to_char(to_date('31 -DEC-18'),'YYYY-IW');返回2018-01?

使用Oracle SQL时,为什么选择语句

select to_char(to_date('31-DEC-18'), 'YYYY-IW') 
from dual;
Run Code Online (Sandbox Code Playgroud)

返回“ 2018-01”?

我了解'IW'使用的是我想要使用的ISO标准,但是据我的研究可知,根据ISO标准,2018年12月31日发生在2019年的第1周。所以我理解为什么select语句为“ IW”返回“ 01”,但是为什么它为“ YYYY”返回“ 2018”?语句不应该返回'2019-01'吗?

对于我正在使用的数据,最好使用IW而不是WW。

sql oracle

0
推荐指数
1
解决办法
67
查看次数

在 2 个日期之间选择值时得到不正确的结果

我正在尝试运行以下查询以选择 2 个日期之间的一些结果,但由于条件不存在,我得到了结果。那么这里有什么问题呢?

select OPEN_TIME, STATUS 
from PROBSUMMARY 
where trunc (open_time) >= '01-01-2020' 
  and trunc (open_time) < '01-01-2021'
Run Code Online (Sandbox Code Playgroud)

sql database oracle sql-standards

0
推荐指数
1
解决办法
47
查看次数