操作系统不支持所选的排序顺序.WinXP



我想从.mdb获取一些数据,但我在WinXP机器上遇到了一个异常。已安装MDAC 2.8。有没有办法在不更改数据库类型的情况下解决我的问题?方法获取数据。:

private void GetDatafromDB(){
int counter = 0;
string _sql = "select * from template where 1=1";
OleDbDataReader reader = ldb.ReadList(_sql);
while (reader.Read())
{
if (reader[1] is DBNull)
continue;
this.t0 = reader[0].ToString();//autoid
this.t1 = reader[1].ToString();//real name
this.t2 = reader[2].ToString();//userid
this.t3 = reader[3].ToString();//fingerindex
this.t4 = reader[4].ToString();//rights
this.t5 = reader[5].ToString();//base64  template_9

//int autoid = (int)reader[0];
byte[] tmp = Convert.FromBase64String(this.t5);
zkfp2.DBAdd(mDBHandle, Int32.Parse(t3), tmp);
counter++;
}
textTips.AppendText("Loaded "+ counter +" fingerprints rn");
}

例外:

**************异常文本**************

System.Data.OleDb.OleDbException:未选择排序规则序列由操作系统支持。在System.Data.OleDb.OleDbCommand.ExecuteCommandTextErrorHandling(OleDbHResult小时)System.Data.OleDb.OleDbCommand.ExecuteCommandTextForSingleResult(tagDBPARAMSdbParams,对象&executeResult)System.Data.OleDb.OleDbCommand.ExecuteCommandText(Object&executeResult)System.Data.OleDb.OleDbCommand.ExecuteCommand(CommandBehavior行为,对象&executeResult)System.Data.OleDb.OleDbCommand.ExecuteReaderInternal(CommandBehavior行为,字符串方法)System.Data.OleDb.OleDbCommand.ExecuteReader(CommandBehavior行为)位于的System.Data.OleDb.OleDbCommand.ExecuteReader()中的WindowsFormsApp1.LocalDb.ReadList(字符串SQL)c: \用户\用户\桌面\指纹WINxp\WindowsFormsApp1\LocalDb.cs:line 132中的WindowsFormsApp1.Form1.GetDatafromDB()c: \用户\用户\桌面\指纹WINxp\WindowsFormsApp1\Form1.cs:第362行中的WindowsFormsApp1.Form1.connDevice_Click(对象发送器,EventArgs e)c: \用户\用户\桌面\指纹WINxp\WindowsFormsApp1\Form1.cs:第354行System.Windows.Forms.Control.OnClick(EventArgs e)位于System.Windows.Forms.Button.OnClick(EventArgs e)位于System.Windows.Forms.Button.OnMouseUp(MouseEventArgs mevent)位于System.Windows.Forms.Control.WmMouseUp(消息&m,鼠标按钮按钮,Int32次点击)System.Windows.Forms.Control.WndProc(消息&m)位于System.Windows.Forms.ButtonBase.WndProc(消息&m)位于System.Windows.Forms.Button.WndProc(消息&m)位于System.Windows.Forms.Control.ControlNativeWindow.OnMessage(消息&m)在System.Windows.Forms.Control.ControlNativeWindow.WndProc(消息&m) 在System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd,Int32消息,IntPtr wparam,IntPtr-lparam)

问题是目标机器有另一种系统语言,并且在另一种语言上创建了.mdb文件。在目标机器上创建新数据库-解决了我的问题。

来源-http://www.cnblogs.com/zoupeiyang/archive/2009/03/11/1408741.html

最新更新