Help!

PC-Problemen?
De vrijwilligers van Oplossing.be zoeken gratis met u mee!

Hulp bij posten

Recente topics

Auteur Topic: olledb error  (gelezen 5148 keer)

0 leden en 1 gast bekijken dit topic.

Offline satdirk

  • Lid
  • *
  • Berichten: 34
  • Oplossing.be
olledb error
« Gepost op: 12 april 2010, 15:24:01 »
He ik wil een site plaatsen hier lokaal werkt het wel maar online niet .
Fout.run time error.
Nu ligt de fout bij de instelling van de olledb van de database
maar ik heb dit niet gemaakt en kan er niet aan uit in het bestand staan deze gegevens.

    conn.Open();
        OleDbDataAdapter da = new OleDbDataAdapter(sqlstr, conn);
        DataTable dt = new DataTable();
        da.Fill(dt);       
        da.Dispose();
        conn.Close();
        return dt;

en dit heb ik als probleem of oplossing gekregen maar ik weet niet juist welke regel en hoe deze moet worden aangepast .
Kan iemand mij helpen.

Selected collating sequence not supported by the operating system.
Description: An unhandled exception occurred during the execution of the current web request. Please review the stack trace for more information about the error and where it originated in the code.

Exception Details: System.Data.OleDb.OleDbException: Selected collating sequence not supported by the operating system.

Source Error:


Line 147:        OleDbDataAdapter da = new OleDbDataAdapter(sqlstr, conn);
Line 148:        DataTable dt = new DataTable();
Line 149:        da.Fill(dt);       
Line 150:        da.Dispose();
Line 151:        conn.Close();
 

Source File: d:\accounts\b\e\becanchicom\www\App_Code\BlogLib.cs    Line: 149

Stack Trace:


[OleDbException (0x80004005): Selected collating sequence not supported by the operating system.]
   System.Data.OleDb.OleDbCommand.ExecuteCommandTextErrorHandling(OleDbHResult hr) +1002464
   System.Data.OleDb.OleDbCommand.ExecuteCommandTextForSingleResult(tagDBPARAMS dbParams, Object& executeResult) +255
   System.Data.OleDb.OleDbCommand.ExecuteCommandText(Object& executeResult) +188
   System.Data.OleDb.OleDbCommand.ExecuteCommand(CommandBehavior behavior, Object& executeResult) +58
   System.Data.OleDb.OleDbCommand.ExecuteReaderInternal(CommandBehavior behavior, String method) +161
   System.Data.OleDb.OleDbCommand.ExecuteReader(CommandBehavior behavior) +116
   System.Data.OleDb.OleDbCommand.System.Data.IDbCommand.ExecuteReader(CommandBehavior behavior) +4
   System.Data.Common.DbDataAdapter.FillInternal(DataSet dataset, DataTable[] datatables, Int32 startRecord, Int32 maxRecords, String srcTable, IDbCommand command, CommandBehavior behavior) +130
   System.Data.Common.DbDataAdapter.Fill(DataTable[] dataTables, Int32 startRecord, Int32 maxRecords, IDbCommand command, CommandBehavior behavior) +162
   System.Data.Common.DbDataAdapter.Fill(DataTable dataTable) +115
   BlogLib.DataTableBinder(String sqlstr, String tablename) in d:\accounts\b\e\becanchicom\www\App_Code\BlogLib.cs:149
   _Default.BindServices() in d:\accounts\b\e\becanchicom\www\Default.aspx.cs:54
   _Default.Page_Load(Object sender, EventArgs e) in d:\accounts\b\e\becanchicom\www\Default.aspx.cs:28
   System.Web.Util.CalliHelper.EventArgFunctionCaller(IntPtr fp, Object o, Object t, EventArgs e) +14
   System.Web.Util.CalliEventHandlerDelegateProxy.Callback(Object sender, EventArgs e) +35
   System.Web.UI.Control.OnLoad(EventArgs e) +99
   System.Web.UI.Control.LoadRecursive() +50
   System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) +627

WIM 2040 MEDIONPC, ATI MOBILITY RADEON X700 XL (0x564F), Windows XP, Home, SP2, NL, Intel(R) Pentium(R) M processor 1.73GHz, 1024 MB RAM, HDD:97 GB, NTFS, Avast AntiVirus, Firefox 1.5, Eudora

Offline SoftAid

  • Administrator
  • Ambassadeur
  • *****
  • Berichten: 20.202
  • Geslacht: Man
  • Nobody is perfect, not even me...
Re: olledb error
« Reactie #1 Gepost op: 12 april 2010, 15:56:50 »
Hallo satdirk,

ik kan niet programmeren, maar een veel voorkomende opmerking die gemaakt wordt bij het bouwen van een website: "die wel werkt op PC, maar eenmaal geupload doet ie het niet".

Meestal komt dit doordat er in het programma verwijzingen staan naar mappen op de PC, en eenmaal geupload kan het programma niet meer aan die bestanden waar naar wordt verwezen.

In je code zie ik minstens 4 maal een verwijzing naar je D:\accounts\b\e\becanchimon\www\.......  op PC:
Source File: d:\accounts\b\e\becanchicom\www\App_Code\BlogLib.cs    Line: 149 BlogLib.DataTableBinder(String sqlstr, String tablename) in d:\accounts\b\e\becanchicom\www\App_Code\BlogLib.cs:149   _Default.BindServices() in d:\accounts\b\e\becanchicom\www\Default.aspx.cs:54  _Default.Page_Load(Object sender, EventArgs e) in d:\accounts\b\e\becanchicom\www\Default.aspx.cs:28

Ik veronderstel dat je en deze regels moet aanpassen naar je serverbestanden, en zowel de verbeterde code als de bestanden moet uploaden naar de server.

:) SoftAid :)             


Maximum grootte bijlagen vergroot naar 4 MB
Dubbelposten, het posten op verschillende forums van dezelfde vraag, dient op
voorhand gemeld te worden, met een link naar het topic op de andere site.
Overtreding van deze regel kan bestraft worden met verbanning !

Offline satdirk

  • Lid
  • *
  • Berichten: 34
  • Oplossing.be
Re: olledb error
« Reactie #2 Gepost op: 12 april 2010, 16:39:45 »
Bedankt al voor de reactie maar je zegt

Citaat
In je code zie ik minstens 4 maal een verwijzing naar je D:\accounts\b\e\becanchimon\www\.......  op PC:

deze code komt van de server daar is een test webruimte die ik heb gevraagd om te zien of er aspx bestanden op werken .

D:\accounts\b\e\becanchimon\ is op de server .
via ftp moest ik in de map www mijn bestanden zetten.

ik moet wel ergens een pad aanpassen maar waar?
Zal eens kijken naar de bestanden op mijn pc.

grt Dirk
WIM 2040 MEDIONPC, ATI MOBILITY RADEON X700 XL (0x564F), Windows XP, Home, SP2, NL, Intel(R) Pentium(R) M processor 1.73GHz, 1024 MB RAM, HDD:97 GB, NTFS, Avast AntiVirus, Firefox 1.5, Eudora

Offline Firebirdy

  • Ambassadeur
  • *****
  • Berichten: 2.408
  • Geslacht: Man
Re: olledb error
« Reactie #3 Gepost op: 12 april 2010, 18:18:08 »
De fout is gegeven, OleDbException: Selected collating sequence not supported by the operating system.

Satdirk, gebruik je soms een Accessbestand als database? Zoja, heb je die op jouw pc gemaakt?

Offline dizzl

  • Ambassadeur
  • *****
  • Berichten: 2.345
  • I've Upped my standards,now,up yours!
Re: olledb error
« Reactie #4 Gepost op: 12 april 2010, 18:55:25 »
kan je ook eens laten zien wat in die
sqlstr staat?...
of plak de hele functie hier eens?
Systeem  : Intel Core i5-4440 3.1Ghz, 3.1GHz 16Giga Ram 64Bits
Software : Windows 10 professional, Avira, Office 2016 Professional

Offline satdirk

  • Lid
  • *
  • Berichten: 34
  • Oplossing.be
Re: olledb error
« Reactie #5 Gepost op: 12 april 2010, 18:59:53 »
De fout is gegeven, OleDbException: Selected collating sequence not supported by the operating system.

Satdirk, gebruik je soms een Accessbestand als database? Zoja, heb je die op jouw pc gemaakt?

Ja het is een accessbestand.

Ik heb die op mijn pc staan niet gemaakt, ik heb een backup van de website gekregen en nu alles online gezet die database zat daar bij in.

Wat ik wel raar vindt is dat de naam van die database;
#DBG_data.mdb  is.
WIM 2040 MEDIONPC, ATI MOBILITY RADEON X700 XL (0x564F), Windows XP, Home, SP2, NL, Intel(R) Pentium(R) M processor 1.73GHz, 1024 MB RAM, HDD:97 GB, NTFS, Avast AntiVirus, Firefox 1.5, Eudora

Offline satdirk

  • Lid
  • *
  • Berichten: 34
  • Oplossing.be
Re: olledb error
« Reactie #6 Gepost op: 12 april 2010, 19:45:20 »
kan je ook eens laten zien wat in die
sqlstr staat?...
of plak de hele functie hier eens?

waar kan ik dat vinden ?
Als er iemand iets aan heeft om naar een bron bestand van een webpagina te kijken dat kan op
www.becanchi.com de site staat nog steeds online in China maar moet verhuizen naar europa.
WIM 2040 MEDIONPC, ATI MOBILITY RADEON X700 XL (0x564F), Windows XP, Home, SP2, NL, Intel(R) Pentium(R) M processor 1.73GHz, 1024 MB RAM, HDD:97 GB, NTFS, Avast AntiVirus, Firefox 1.5, Eudora

Offline dizzl

  • Ambassadeur
  • *****
  • Berichten: 2.345
  • I've Upped my standards,now,up yours!
Re: olledb error
« Reactie #7 Gepost op: 13 april 2010, 06:00:45 »
Zoek  BlogLib.cs en zet die eens hier?
Je web.config bestand zou ook interessant zijn.
Systeem  : Intel Core i5-4440 3.1Ghz, 3.1GHz 16Giga Ram 64Bits
Software : Windows 10 professional, Avira, Office 2016 Professional

Offline satdirk

  • Lid
  • *
  • Berichten: 34
  • Oplossing.be
Re: olledb error
« Reactie #8 Gepost op: 13 april 2010, 06:59:17 »
Zoek  BlogLib.cs en zet die eens hier?
Je web.config bestand zou ook interessant zijn.


dit is het Bloglib.cs
using System;
using System.Data;
using System.Data.OleDb;
using System.Configuration;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;

/// <summary>
/// BlogLib 的摘要说明
/// </summary>
public class BlogLib
{
   public BlogLib()
   {
        try
        {
            string connstr = "";
            conn = new OleDbConnection(connstr = string.Format(ConfigurationSettings.AppSettings["BDGConnString"],
                HttpContext.Current.Request.ServerVariables["APPL_PHYSICAL_PATH"]));           
        }
        catch (Exception ex)
        {
            throw ex;
        }
    }
    public BlogLib(bool en)
    {
        if (en)
        {
            try
            {
                string connstr = "";
                conn = new OleDbConnection(connstr = string.Format(ConfigurationSettings.AppSettings["conn2"],
                    HttpContext.Current.Request.ServerVariables["APPL_PHYSICAL_PATH"]));
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }
    }
    private OleDbConnection conn = new OleDbConnection();
   
    /// <summary>
    /// 返回一行信息,以|||分隔
    /// </summary>
    /// <param name="sqlstr"></param>
    /// <returns></returns>
    public string GetInfo(string sqlstr)
    {
        //conn.Open();
        //string re = "";
        //OleDbCommand cmd = new OleDbCommand(sqlstr, conn);
        //OleDbDataReader odr = cmd.ExecuteReader();
        //while (odr.Read())
        //{
        //    for (int i = 0; i < odr.FieldCount; i++)
        //    {
        //        re +="|||"+odr.ToString();
        //    }
        //}
        //odr.Close();
        //odr.Dispose();
        //conn.Close();
        //return re.Substring(3);conn.Open();
        conn.Open();
        string re = "";
        OleDbCommand cmd = new OleDbCommand(sqlstr, conn);
        OleDbDataReader odr = cmd.ExecuteReader();
        int j = 0;
        while (odr.Read())
        {
            re = odr[j].ToString();
            j++;
            if (j == 1)
                break;
        }
        odr.Close();
        odr.Dispose();
        conn.Close();
        return re;
    }

    /// <summary>
    /// DataSet数据集绑定,主要用于DataSet数据集的填充及绑定。
    /// </summary>
    /// <param name="sqlstr">SQL查询语句,如:SELECT * FROM 表名。</param>
    /// <param name="tablename">将要绑定的虚拟表名,如:"Yixin's_Table"。</param>
    /// <returns>返回填充好的DataSet数据集。</returns>
    public DataSet DataSetBinder(string sqlstr, string tablename)
    {
        conn.Open();
        OleDbDataAdapter da = new OleDbDataAdapter(sqlstr, conn);
        DataSet ds = new DataSet();
        da.Fill(ds, tablename);
        da.Dispose();
        conn.Close();
        return ds;
       
    }

    #region 绑定到DataTable
    public DataTable DataTablePage(string sql,int startRecord,int maxRecords)
    {
        conn.Open();
        OleDbDataAdapter da = new OleDbDataAdapter(sql, conn);
        DataSet ds = new DataSet();
        da.Fill(ds,startRecord,maxRecords,"list");
        da.Dispose();
        conn.Close();
        return ds.Tables[0];

    }
    #endregion

    #region 用与datatable的分页
    public DataTable DataTableBinder(string sqlstr, string tablename, int page, int pagesize, ref int totalrecord)
    {
        conn.Open();
        OleDbDataAdapter da = new OleDbDataAdapter(sqlstr, conn);
        DataTable dt = new DataTable();
        DataTable dtRecord = new DataTable();
        da.Fill(dtRecord);

        totalrecord = dtRecord.Rows.Count;

        da.Fill((page - 1) * pagesize, pagesize, dt);
        da.Dispose();
        conn.Close();
        return dt;
    }
    #endregion

    /// <summary>
    /// DataTable数据集绑定,主要用于DataTable虚拟表的填充及绑定。
    /// </summary>
    /// <param name="sqlstr">SQL查询语句,如:SELECT * FROM 表名。</param>
    /// <param name="tablename">将要绑定的虚拟表名,如:"Yixin's_Table"。</param>
    /// <returns>返回填充好的DataTable虚拟表。</returns>
    public DataTable DataTableBinder(string sqlstr, string tablename)
    {
        conn.Open();
        OleDbDataAdapter da = new OleDbDataAdapter(sqlstr, conn);
        DataTable dt = new DataTable();
        da.Fill(dt);       
        da.Dispose();
        conn.Close();
        return dt;
    }

    /// <summary>
    /// DataBaseOperation数据操作类,主要用于集合对象的添加,删除,更新等操作。
    /// </summary>
    /// <param name="sqlstr">SQL语句,可以是添加,删除,更新。</param>
    /// <param name="sp">数据集</param>
    /// <returns>如果数据执行成功,将会返回True,否则返回False</returns>
    public bool DataBaseOperation(string sqlstr, OleDbParameter[] sp)
    {
        conn.Open();
        OleDbCommand com = new OleDbCommand(sqlstr, conn);
       
        foreach (OleDbParameter s in sp)
        {
            com.Parameters.Add(s);
        }
        try
        {           
            com.ExecuteNonQuery();
            return true;
        }
        catch (Exception)
        {
            return false;
        }
        conn.Close();
       
    }

    /// <summary>
    /// DataBaseOperation数据操作类,主要用于单个对象的添加,删除,更新等操作。</summary>
    /// <param name="sqlstr">SQL语句,可以是添加,删除,更新。</param>
    /// <returns>如果数据执行成功,将会返回True,否则返回False</returns>
    public bool DataBaseOperation(string sqlstr)
    {
        conn.Open();
        bool falg = false;
     
        try
        {
          //  con.Open();
            OleDbCommand comm = new OleDbCommand(sqlstr, conn);
            int operationResult =comm.ExecuteNonQuery();
            if (operationResult > 0)
            {
                falg = true;
            }
            else
            {
                falg = false;
            }
        }
        catch(Exception e)
        {
            e.Message.ToString();
        }
        finally
        {
            conn.Close();
        }
        return falg;       
    }

    /// <summary>
    /// DataBaseOperation数据查找类,主要用于查找数据库中的数据
    /// </summary>
    /// <param name="sqlstr">SQL查询语句,如:SELECT * FROM 表名 WHERE 条件</param>
    /// <returns>如果成功从数据库中找到数据,将会返回True,否则返回False</returns>
    public bool DataBaseFind(string sqlstr)
    {
        bool falg = false;
        conn.Open();
        OleDbCommand comm = new OleDbCommand(sqlstr,conn);
        OleDbDataReader sdr = comm.ExecuteReader();
        if (sdr.HasRows)
        {
            falg = true;
        }
        else
        {
            falg = false;
        }
        conn.Close();
        return falg;
    }
}
WIM 2040 MEDIONPC, ATI MOBILITY RADEON X700 XL (0x564F), Windows XP, Home, SP2, NL, Intel(R) Pentium(R) M processor 1.73GHz, 1024 MB RAM, HDD:97 GB, NTFS, Avast AntiVirus, Firefox 1.5, Eudora

Offline satdirk

  • Lid
  • *
  • Berichten: 34
  • Oplossing.be
Re: olledb error
« Reactie #9 Gepost op: 13 april 2010, 07:10:56 »
Zoek  BlogLib.cs en zet die eens hier?
Je web.config bestand zou ook interessant zijn.

Dit is het web.config , denk ik.

<?xml version="1.0"?>

<configuration>
  <appSettings>
    <add key="FCKeditor:BasePath" value="~/fckeditor/"/>
    <add key="FCKeditor:UserFilesPath" value="~/upload/fckeditor/"/>
    <add key="BDGConnString" value="Provider=Microsoft.Jet.OLEDB.4.0;Data Source={0}\\BDGData\\#BDG_data.mdb;Persist Security Info=True"/>
    <add key="conn2" value="Provider=Microsoft.Jet.OLEDB.4.0;Data Source={0}\\BDGData\\#BDG_Fdata.mdb;Persist Security Info=True"/>
  </appSettings>
  <system.web>
    <compilation debug="true">
      <assemblies>
        <add assembly="System.Design, Version=2.0.0.0, Culture=neutral, PublicKeyToken=B03F5F7F11D50A3A"/>
        <add assembly="System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089"/>
      </assemblies>
    </compilation>
    <authentication mode="Windows"/>
  </system.web>
</configuration>
WIM 2040 MEDIONPC, ATI MOBILITY RADEON X700 XL (0x564F), Windows XP, Home, SP2, NL, Intel(R) Pentium(R) M processor 1.73GHz, 1024 MB RAM, HDD:97 GB, NTFS, Avast AntiVirus, Firefox 1.5, Eudora

Offline Firebirdy

  • Ambassadeur
  • *****
  • Berichten: 2.408
  • Geslacht: Man
Re: olledb error
« Reactie #10 Gepost op: 13 april 2010, 16:13:36 »
Volgens mij beschrijft dit de oorzaak: https://support.microsoft.com/kb/202150 ;)

De accessdatabase is waarschijnlijk aangemaakt met collating sequence (sorteervolgorde) op chinees, of iets dergelijks. Jouw pc kan ermee overweg maar de server niet. Wat je zou moeten kunnen doen is:

- de collating sequence van de bestaande database aanpassen

- een nieuwe database aanmaken met met collating sequence 'General'/'Algemeen' en daar je data in overbrengen.

- ondersteuning installeren op de server

Offline satdirk

  • Lid
  • *
  • Berichten: 34
  • Oplossing.be
Re: olledb error
« Reactie #11 Gepost op: 13 april 2010, 19:54:19 »
dit is niet echt overzichtelijk mijn het is de eerste lijn van en tabel webinfo .
zoals je kan zijn id Class enz. die Class heeft als naam zie achter nr 29 shineese tekens ik heb die via copy en paste in een nieuwe database gezet zou het kunnen dat deze tekens al problemen kregen of  niet ?
Ik zou graag eerst iets klein testen wand die hele database hermaken is voor morgen en zeker de hele dag er zijn 15 tabellen 1query ,maar die tabellen zijn wel groot van daar dat ik graag zeker wil weten of het werk met 1 of 2 tabellen en enkele records .
Hier onder staat 1 record heb er wel veel van moeten weg laten anders was mijn bericht te groot.


ID   Class   Title   Content   AddTime   PX   Introduction   InfoPic
29   公司介绍   About us   "<p><span style=""font-size: 14px""><span style=""font-family: Arial""><b><span lang=""EN-US"" style=""color: black; mso-bidi-font-size: 10.5pt"">WHY CHOOSING BECANCHI:</span></b></span></span></p>
.
</span></span></div>"   200910208161.jpg
WIM 2040 MEDIONPC, ATI MOBILITY RADEON X700 XL (0x564F), Windows XP, Home, SP2, NL, Intel(R) Pentium(R) M processor 1.73GHz, 1024 MB RAM, HDD:97 GB, NTFS, Avast AntiVirus, Firefox 1.5, Eudora

Offline Firebirdy

  • Ambassadeur
  • *****
  • Berichten: 2.408
  • Geslacht: Man
Re: olledb error
« Reactie #12 Gepost op: 14 april 2010, 10:53:52 »
Citaat
dit is niet echt overzichtelijk mijn het is de eerste lijn van en tabel webinfo . Zoals je kan zien id Class enz. die Class heeft als naam zie achter nr 29 shineese tekens ik heb die via copy en paste in een nieuwe database gezet zou het kunnen dat deze tekens al problemen kregen of  niet ?

Het is zeker het proberen waard ;). Misschien kan je ze vervangen.

 


www.combell.com