0
내가 97 기존 Access에서 테이블을 만드는거야 설정하는 방법'데이터베이스에 다음 명령을 :표 만들기 '데이터베이스 - 유니 코드 압축
OleDbCommand cmd_createPlaylistNames2 = new OleDbCommand("CREATE TABLE PlaylistNames2 ([Anagnorisi] long, [PlaylistName] TEXT(50) WITH COMPRESSION, [PlaylistMaker] TEXT(50) WITH COMPRESSION," +
" [Duration] TEXT(50) WITH COMPRESSION, [Comments] TEXT(50), [FromAutomation] BIT, Primary Key (Anagnorisi))", con);
나는 다음의 데이터로 테이블을 채우기 데이터 세트. Office에서 데이터베이스를 열 때 WITH COMPRESSION으로 설정된 필드의 유니 코드 압축 속성이 No로 설정되었습니다. 왜 이런 현상이 발생합니까?
편집 :
신경 끄시 고, 내가 DAO와 유니 코드 압축에 필드를 설정했습니다.
dao.DBEngine dbeng = new dao.DBEngine();
dao.Workspace wrkspc = dbeng.CreateWorkspace("", "admin", "", dao.WorkspaceTypeEnum.dbUseJet);
dao.Database db = wrkspc.OpenDatabase("C:\\Users\\user\\Desktop\\Merge2\\playlists.MDB", false, false, "");
dao.TableDef tabledef = db.TableDefs["PlaylistNames"];
dao.Field name = tabledef.Fields["PlaylistName"];
dao.Field maker = tabledef.Fields["PlaylistMaker"];
dao.Field duration = tabledef.Fields["Duration"];
dao.Field comments = tabledef.Fields["Comments"];
dao.Property propName = name.CreateProperty("UnicodeCompression", 1, -1, false);
name.Properties.Append(propName);
dao.Property propMaker = maker.CreateProperty("UnicodeCompression", 1, -1, false);
maker.Properties.Append(propMaker);
dao.Property propDuration = duration.CreateProperty("UnicodeCompression", 1, -1, false);
duration.Properties.Append(propDuration);
dao.Property propComments = comments.CreateProperty("UnicodeCompression", 1, -1, false);
comments.Properties.Append(propComments);
wrkspc.Close();
저는 실제로 Jet 4.0을 사용하고 있습니다. – Pantelis
@Pantelis 파일이 Access 97 데이터베이스 인 경우 Jet 3.5 형식입니다. 유니 코드 압축은 파일에 문자가 저장되는 방식을 제어하기 때문에 유니 코드 압축의 관련 여부를 지정하는 파일 형식입니다. 물론 Jet 4.0을 사용하여 Jet 3 파일을 읽을 수도 있지만 Jet 3 파일의 싱글 바이트 문자와 다른 문자 사이의 변환으로 인해 컴퓨터의 코드 페이지를 변경하면 텍스트 데이터가 변경되는 것으로 나타납니다. Jet 4 라이브러리의 2 바이트 문자 – phoog