解决国外空间Access错误Selected collating sequence not supported by the operating system

本文介绍了解决在英文操作系统下使用中文Access数据库导致的Selectedcollatingsequencenotsupportedbytheoperatingsystem错误的方法。主要步骤包括更改新建数据库的排序次序为“常规”,创建新的空白数据库并导入旧数据库的数据。

解决国外空间Access错误Selected collating sequence not supported by the operating system


好多朋友都遇到这种情况,网站文件在本地运行很好,但是把网站文件全部传到国外FTP后运行网站提示出错,提示出错的英文是:Selected collating sequence not supported by the operating system


主要原因是用的是英文操作系统英文版OS。而在本地建的网站数据库是中文系统下生成的,而根据微软(Microsoft)的官方网站说明:若Access在一种语言下创建,而在另一种语言下使用就会提示这种错误。如果买的空间是支持中文的,就没有提示错误。


问题的关键找到了,主要出在新建数据库排序次序的问题上,默认选的是“中文”,改选“常规”就好了。详细解决方法如下:


1,打开一个access数据库,进入“工具”-》“选项”-》“常规”-》“新建数据库排序次序”中选择“常规”。
2,由于老数据库排序格式已经定了,所以还需新建一个按“常规”方式排序的新数据库。
“文件”-》“新建数据库”-》“空白数据库”-》输入一个文件名保存。
3,由于新数据库是空白数据库,我们需要把老数据导入进来。
“文件”-》“获取外部数据”-》“导入”-》选择以前的数据库-》“全选”-》确定
4,覆盖国外空间上的老数据,成功访问了.

 

不是,我指的句柄是一个sqlite3类型的结构体啊,里面有如下内容struct sqlite3 { sqlite3_vfs *pVfs; /* OS Interface */ struct Vdbe *pVdbe; /* List of active virtual machines */ CollSeq *pDfltColl; /* The default collating sequence (BINARY) */ sqlite3_mutex *mutex; /* Connection mutex */ Db *aDb; /* All backends */ int nDb; /* Number of backends currently in use */ int flags; /* Miscellaneous flags. See below */ i64 lastRowid; /* ROWID of most recent insert (see above) */ i64 szMmap; /* Default mmap_size setting */ unsigned int openFlags; /* Flags passed to sqlite3_vfs.xOpen() */ int errCode; /* Most recent error code (SQLITE_*) */ int errMask; /* & result codes with this before returning */ int iSysErrno; /* Errno value from last system error */ u16 dbOptFlags; /* Flags to enable/disable optimizations */ u8 enc; /* Text encoding */ u8 autoCommit; /* The auto-commit flag. */ u8 temp_store; /* 1: file 2: memory 0: default */ u8 mallocFailed; /* True if we have seen a malloc failure */ u8 bBenignMalloc; /* Do not require OOMs if true */ u8 dfltLockMode; /* Default locking-mode for attached dbs */ signed char nextAutovac; /* Autovac setting after VACUUM if >=0 */ u8 suppressErr; /* Do not issue error messages if true */ u8 vtabOnConflict; /* Value to return for s3_vtab_on_conflict() */ u8 isTransactionSavepoint; /* True if the outermost savepoint is a TS */ u8 mTrace; /* zero or more SQLITE_TRACE flags */ u8 skipBtreeMutex; /* True if no shared-cache backends */ int nextPagesize; /* Pagesize after VACUUM if >0 */ u32 magic; /* Magic number for detect library misuse */ int nChange; /* Value returned by sqlite3_changes() */ int nTotalChange; /* Value returned by sqlite3_total_changes() */ int aLimit[SQLITE_N_LIMIT]; /* Limits */ int nMaxSorterMmap; /* Maximum size of regions mapped by sorter */ struct sqlite3InitInfo { /* Information used during initialization */ int newTnum; /* Rootpage of table being initialized */ u8 iDb; /* Which db file is being initialized */ u8 busy; /* TRUE if currently initializing */ u8 orphanTrigger; /* Last statement is orphaned TEMP trigger */ u8 imposterTable; /* Building an imposter table */ } init;这只是一小部分内容,通过句柄能否知道数据的起始位置
最新发布
10-01
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值