MySQL 날짜/시간 값을 시스템으로 변환할 수 없습니다.날짜 시간
다음의 에러가 표시됩니다.
MySQL 날짜/시간 값을 시스템으로 변환할 수 없습니다.날짜 시간
MySQL 데이터베이스에서 데이터를 가져오는 동안MySQL 데이터베이스에 날짜 데이터 유형이 있습니다.그러나 데이터 테이블로 가져오는 동안 위의 오류가 발생합니다.
어떻게 하면 고칠 수 있을까요?
를 추가해야 합니다.Convert Zero Datetime=True
예를 들어 다음과 같습니다.
server=localhost;User Id=root;password=mautauaja;Persist Security Info=True;database=test;Convert Zero Datetime=True
"MySQL 날짜/시간 값을 시스템으로 변환할 수 없습니다.Date Time"은 Visual Studio에서 MySQL에 액세스하는 문제에 대한 수많은 참조를 볼 수 있습니다.그게 자네 맥락인가?
제안되는 솔루션은 다음과 같습니다.
이는 버그가 아니라 예상되는 동작입니다.연결 옵션에서 매뉴얼을 확인하고 첨부된 그림과 같이 "Allow Zero Datetime"을 true로 설정해 주십시오. 그러면 오류가 사라집니다.
참고 자료: http://bugs.mysql.com/bug.php?id=26054
둘 다 추가했어Convert Zero Datetime=True
&Allow Zero Datetime=True
동작은 양호합니다.
datetime 값을 문자열로 풀다운하고DateTime.ParseExact(value, "ddd MMM dd hh:mm:ss yyyy", culture, styles);
데이터베이스에서 반환하는 날짜에 대한 날짜 형식을 설정하기만 하면 됩니다.가장 가능성이 높다yyyy-MM-dd HH:mm:ss
적어도 나는 그렇다.
자세한 내용은 여기를 참조하십시오.
MySql이 유닉스 타임스탬프를 문자열로 변환합니다.mysql 함수 FROM_UNIXTIME(113283901)을 사용합니다.
저도 같은 문제에 직면하여 컬럼 이름과 타입을 취득했습니다.그런 다음 테이블 이름에서 캐스트(col_Name as Char)합니다.이렇게 하면 문제가 '0000-00 00:00:00'로 표시됩니다.그 후, 이 에러가 해소된 유효 일시를 갱신합니다.
연결 문자열을 변경하는 대신IsValidDateTime
의 특성MySqlDateTime
오브젝트를 캐스트할 수 있는지 여부를 결정하는 데 도움이 되는 오브젝트DateTime
.
행에 업데이트가 있을 때만 명시적으로 설정된 "Update Time" 열에서 데이터를 로드하려고 하는 시나리오가 있었습니다(항상 설정된 Inserted Time과는 반대).이 경우에는,MySqlDataReader.GetMySqlDateTime
다음과 같은 방법:
using (MySqlDataReader reader = await MySqlHelper.ExecuteReaderAsync(...))
{
if (await reader.ReadAsync())
{
DateTime? updateTime = reader.GetMySqlDateTime("UpdateTime").IsValidDateTime ? (DateTime?)reader["UpdateTime"] : null;
}
}
Steatsoft 보고서에서 이 파라미터를 연결 문자열에 추가합니다(데이터 소스 오른쪽 클릭 -> 편집).
Convert Zero Datetime=True;
EF edmx를 MySql과 함께 사용하는 경우 엔티티 유형의 Precision 속성을 검토하십시오.
<EntityType Name="table">
<Key>
<PropertyRef Name="Id" />
</Key>
<Property Name="Id" Type="int" StoreGeneratedPattern="Identity" Nullable="false" />
<Property Name="date_field" Type="datetime" Precision="0" Nullable="false" />
</EntityType>
datetime 필드를 변경한 경우 속성에서 이 속성이 누락될 수 있습니다.
응용 프로그램을 MySql에서 사용하는 날짜와 시간과 완전히 호환되도록 만들 수 있습니다.응용 프로그램이 런타임에 실행될 때 이 코드를 제공합니다.먼저 응용 프로그램 이벤트로 이동합니다.도구 목록
- 프로젝트로 이동
- 프로젝트 속성
- 응용 프로그램 탭을 선택합니다.
- 응용 프로그램 이벤트 표시
새 파일이 열립니다.이 파일에는 응용 프로그램 시작 시 사용된 코드가 포함되어 있습니다.
이 코드를 새 파일에 기록합니다.
Partial Friend Class MyApplication
Private Sub MyApplication_Startup(ByVal sender As Object, ByVal e As Microsoft.VisualBasic.ApplicationServices.StartupEventArgs) Handles Me.Startup
My.Application.ChangeCulture("en")
My.Application.ChangeUICulture("en")
My.Application.Culture.DateTimeFormat.ShortDatePattern = "yyyy-MM-dd"
My.Application.Culture.DateTimeFormat.LongDatePattern = "yyyy-MM-dd"
My.Application.Culture.DateTimeFormat.LongTimePattern = "HH:mm:ss"
My.Application.Culture.DateTimeFormat.ShortTimePattern = "HH:mm:ss"
End Sub
End Class
"allow zero datetime=true"가 작동하지 않으면 다음 명령을 사용합니다.
접속 문자열에 "allow zero datetime=no"를 추가합니다.이것에 의해, 타입 캐스트가 완전하게 동작합니다.
언급URL : https://stackoverflow.com/questions/5754822/unable-to-convert-mysql-date-time-value-to-system-datetime
'programing' 카테고리의 다른 글
panda apply()에서 여러 열을 반환합니다. (0) | 2022.09.18 |
---|---|
MySQL 서버가 60초 만에 사라졌습니다. (0) | 2022.09.18 |
스크롤을 숨기지 않고 비활성화하는 방법 (0) | 2022.09.17 |
'innerText'는 IE에서는 동작하지만 Firefox에서는 동작하지 않습니다. (0) | 2022.09.17 |
SQL 조회에 단순 regex 패턴 적용 (0) | 2022.09.17 |