我正在将访问2003数据库升级到SQL Server Express 2008.这些表似乎已创建好,数据看起来没问题。select语句中的“字符串数据,右截断”警告
我有一个连接到这个数据库的MFC应用程序。它很好地连接到访问,但是当我连接到SQL Server时,我在选择语句上出现以下错误。
DBMS: Microsoft SQL Server
Version: 10.50.1600
ODBC Driver Manager Version: 03.80.0000
Warning: ODBC Success With Info on field 0.
String data, right truncation
State:01004,Native:0,Origin:[Microsoft][ODBC SQL Server Driver]
返回的数据应该是8个字符,但只有7个最右侧的字符被截断。
访问前端可以正确读取SQL Server中的数据。
在SQL Server表中的字段被定义为nvarchar的与8
阅读领域中的代码长度看起来像
CDatabase Database;
CString sSerialNumber = "00000000";
CString SqlString;
CString sDsn = "Driver={SQL Server};Server=server\\db;Database=Boards;Uid=uid;Pwd=pwd;Trusted_Connection=False";
Database.Open(NULL,false,false,sDsn);
CRecordset recset(&Database);
SqlString.Format("Select SerialNumber from boards where MACAddress = '%s'",mac);
recset.Open(CRecordset::forwardOnly,SqlString,CRecordset::readOnly);
recset.GetFieldValue("SerialNumber",sSerialNumber);
在此之后,sSerialNumber应该是12345678,但其1234567
感谢您的帮助
我们可以推测在数据库中,SerialNumber被存储为底层数据库中的12345678吗? – BIBD 2010-08-19 21:27:27
什么是赏金?让它在没有新驱动的情况下工作?为什么有人想要这样做? – 2010-08-23 19:48:37