一种情况就是依赖的dll又依赖了其他的dll
一种就是平台之间的函数差异。
比如我曾遇到过这种问题。
无法定位程序输入点_except_handler4_common于动态链接库msvcrt.dll上
最近,多种软件都出现了一个启动时的错误提示 “无法定位程序输入点_except_handler4_common于动态链接
库msvcrt.dll上”。
出现这个提示情况是:Windows Xp 系统; 软件包括:window live writer 2009, windows messenger 2009,
firefox 3.5 等非常新的版本。
这个提示出现后,点击确定,并不影响程序的使用。这个问题出现的原因,其实微软自己的问题。可谓是微软
的Vista 后遗症吧。
在 Vista 系统里,有个挺酷的功能,就是“程序缩略图”,有点3D效果,这个功能,调用了 dwmapi.dll 这
个库,而 dwmapi.dll 又引用了 msvcrt.dll 中的 _except_handler4_common 功能。
然而,在XP系统中,系统自带的 msvcrt.dll 和 Vista 中的 msvcrt.dll 版本不同, 并没有这个
_except_handler4_common ,结果就出现了启动程序时,遇到的 “无法定位程序输入点
_except_handler4_common于动态链接库msvcrt.dll上”的错误提示。
解决方法:
将 c:\windows\system32 下的 dwmapi.dll 改名,例如:改为 dwmapi.dll.bak。
如果是oracle 的话,创建下面的函数,调用函数做视图可以实现你要的效果CREATE OR REPLACE FUNCTION F_TRANS_PINYIN_CAPITAL(P_NAME IN VARCHAR2) RETURN VARCHAR2 AS
V_COMPARE VARCHAR2(100)
V_RETURN VARCHAR2(4000)
FUNCTION F_NLSSORT(P_WORD IN VARCHAR2) RETURN VARCHAR2 AS
BEGIN
RETURN NLSSORT(P_WORD, 'NLS_SORT=SCHINESE_PINYIN_M')
END
BEGIN
FOR I IN 1..LENGTH(P_NAME) LOOP
V_COMPARE := F_NLSSORT(SUBSTR(P_NAME, I, 1))
IF V_COMPARE >= F_NLSSORT(' 吖 ') AND V_COMPARE <= F_NLSSORT('骜 ') THEN
V_RETURN := V_RETURN || 'a'
ELSIF V_COMPARE >= F_NLSSORT('八 ') AND V_COMPARE <= F_NLSSORT('簿 ') THEN
V_RETURN := V_RETURN || 'b'
ELSIF V_COMPARE >= F_NLSSORT('嚓 ') AND V_COMPARE <= F_NLSSORT('错 ') THEN
V_RETURN := V_RETURN || 'c'
ELSIF V_COMPARE >= F_NLSSORT('咑 ') AND V_COMPARE <= F_NLSSORT('鵽 ') THEN
V_RETURN := V_RETURN || 'd'
ELSIF V_COMPARE >= F_NLSSORT('妸 ') AND V_COMPARE <= F_NLSSORT('樲 ') THEN
V_RETURN := V_RETURN || 'e'
ELSIF V_COMPARE >= F_NLSSORT('发 ') AND V_COMPARE <= F_NLSSORT('猤 ') THEN
V_RETURN := V_RETURN || 'f'
ELSIF V_COMPARE >= F_NLSSORT('旮 ') AND V_COMPARE <= F_NLSSORT('腂 ') THEN
V_RETURN := V_RETURN || 'g'
ELSIF V_COMPARE >= F_NLSSORT('妎 ') AND V_COMPARE <= F_NLSSORT('夻 ') THEN
V_RETURN := V_RETURN || 'h'
ELSIF V_COMPARE >= F_NLSSORT('丌 ') AND V_COMPARE <= F_NLSSORT('攈 ') THEN
V_RETURN := V_RETURN || 'j'
ELSIF V_COMPARE >= F_NLSSORT('咔 ') AND V_COMPARE <= F_NLSSORT('穒 ') THEN
V_RETURN := V_RETURN || 'k'
ELSIF V_COMPARE >= F_NLSSORT('垃 ') AND V_COMPARE <= F_NLSSORT('擽 ') THEN
V_RETURN := V_RETURN || 'l'
ELSIF V_COMPARE >= F_NLSSORT('呒 ') AND V_COMPARE <= F_NLSSORT('椧 ') THEN
V_RETURN := V_RETURN || 'm'
ELSIF V_COMPARE >= F_NLSSORT('拏 ') AND V_COMPARE <= F_NLSSORT('疟 ') THEN
V_RETURN := V_RETURN || 'n'
ELSIF V_COMPARE >= F_NLSSORT('筽 ') AND V_COMPARE <= F_NLSSORT('沤 ') THEN
V_RETURN := V_RETURN || 'o'
ELSIF V_COMPARE >= F_NLSSORT('妑 ') AND V_COMPARE <= F_NLSSORT('曝 ') THEN
V_RETURN := V_RETURN || 'p'
ELSIF V_COMPARE >= F_NLSSORT('七 ') AND V_COMPARE <= F_NLSSORT('裠 ') THEN
V_RETURN := V_RETURN || 'q'
ELSIF V_COMPARE >= F_NLSSORT('亽 ') AND V_COMPARE <= F_NLSSORT('鶸 ') THEN
V_RETURN := V_RETURN || 'r'
ELSIF V_COMPARE >= F_NLSSORT('仨 ') AND V_COMPARE <= F_NLSSORT('蜶 ') THEN
V_RETURN := V_RETURN || 's'
ELSIF V_COMPARE >= F_NLSSORT('侤 ') AND V_COMPARE <= F_NLSSORT('箨 ') THEN
V_RETURN := V_RETURN || 't'
ELSIF V_COMPARE >= F_NLSSORT('屲 ') AND V_COMPARE <= F_NLSSORT('鹜 ') THEN
V_RETURN := V_RETURN || 'w'
ELSIF V_COMPARE >= F_NLSSORT('夕 ') AND V_COMPARE <= F_NLSSORT('鑂 ') THEN
V_RETURN := V_RETURN || 'x'
ELSIF V_COMPARE >= F_NLSSORT('丫 ') AND V_COMPARE <= F_NLSSORT('韵 ') THEN
V_RETURN := V_RETURN || 'y'
ELSIF V_COMPARE >= F_NLSSORT('帀 ') AND V_COMPARE <= F_NLSSORT('咗 ') THEN
V_RETURN := V_RETURN || 'z'
END IF
END LOOP
RETURN V_RETURN
END
出错原因挺多的原因1,置换字段顺序没有指定数据类型;
原因2,mysql不支持按序数号指定字段位置;
原因3,自动ID字段设置成主键要在添加字段时同时设置,不得分开设置;
原因4,更改字段属性的先后顺序要合理不得调乱,否则可能无法识别新属性。
建议将原语句修改如下:
ALTER TABLE hooptie
RENAME TO car_table,
ADD COLUMN car_id INT NOT NULL AUTO_INCREMENT PRIMARY KEY FIRST,
ADD COLUMN VIN VARCHAR(17) AFTER car_id,
CHANGE COLUMN mo model VARCHAR(20),
MODIFY COLUMN color varchar(20) default NULL AFTER model,
CHANGE COLUMN howmuch price DECIMAL(7,2),
MODIFY COLUMN year varchar(4) default NULL AFTER price
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)