在尝试通过Python脚本更新Informix表时,我得到了一个错误:
Character to numeric conversion error (-1213)
db请求:
^{pr2}$餐桌销售:
sid | oid | price | pid
我要更新的列的数据类型为money(10,2)
我试着插入一个字符串和一个浮点值…哪一个比较合适?在
我在win2003服务器上使用Informix 10.00 TC6-
CLIENT_LOCALE=en_us.819 - DB_LOCALE=en_us.819
为了连接到Informix,我使用pyodbc。在
在受支持的数据类型中没有钱的问题,所以不确定它是否有效(http://code.google.com/p/pyodbc/wiki/DataTypes)在
数据库驱动程序正在将代码转换为SQL。您可以使用Informix调试器查看它生成的SQL。我知道Informix不喜欢在它的SQL中使用千个分隔符。在
在您显示的SQL中有两种可能的字符串到数字的转换。在
'1'
转换为与sid
相同的类型。在price
,它被?
替代)。在price
中的值是什么?Python将其值打印为什么?在Informix在为您进行转换方面非常灵活,因此第一次转换应该可以。通常,如果
sid
是一个字符串列,则只需提供单引号,但它应该转换得很好。在所以,另一个问题是:PyODBC用
price
做什么?在如果设置环境变量
SQLIDEBUG=2:xyz
并运行程序,您可能会看到发生了什么。它将生成一个前缀为xyz_
的文件,该文件可以用sqliprint
进行处理,假设您可以使用它。这将告诉您在客户机(Python)和数据服务器之间发送的内容。根据您找到的内容,它可能会指向客户端代码或服务器端代码。在相关问题 更多 >
编程相关推荐