小编Cha*_*arp的帖子

如何使用C#创建Access数据库并持续保存实时数据

我目前正在制作一个全天候运行的应用程序,并不断从OPC服务器收集信息.

我现在需要做的是将此信息发送到数据库(.accdb-file).这需要非常非常快速地发生.我每毫秒从服务器获取一个新值,我需要以相同的速度将该值发送到数据库.最后我每天00:00将数据库压缩为.zip文件.

我一直在搜索网络,就像一个疯子,但我似乎无法找到一个"最新"的教程.到目前为止,我发现的每一个都使用" Microsoft.Jet.OLEDB.4.0 "作为提供者,但它在我的Windows 7 PC上并不存在.

我已经做了一个小应用程序来测试连接,我将附上我现在的代码,以便给你一个我到目前为止所尝试的一些提示,但这似乎都没有用.

private void button1_Click(object sender, EventArgs e)
{
    System.Reflection.Assembly oAssembly = System.Reflection.Assembly.GetExecutingAssembly();
    System.IO.Stream oStream = oAssembly.GetManifestResourceStream("RSLogixDB.accdb");
    System.IO.FileStream fileStream = new System.IO.FileStream("C:\\Users\\sezettersth\\Documents\\RSLogixDB.accdb", System.IO.FileMode.Create);

    byte[] abyt = new byte[oStream.Length];
    oStream.Read(abyt, 0, (int)oStream.Length);
    fileStream.Write(abyt, 0, (int)oStream.Length);
    fileStream.Close();
    if (fileStream != null)
    {
        fileStream.Close();
        fileStream = null;
    }
    if (oStream != null)
    {
        oStream = null;
    }
}
Run Code Online (Sandbox Code Playgroud)

这是我尝试的第一种方法,这里我使用了一个用于创建和写入文件的自制类.它不适用于.accdb文件,不幸的是.(第一行的评论包括我尝试过的提供商.

private void button1_Click(object sender, EventArgs e)
{
    //sFileDia.ShowDialog();
    //Provider=Microsoft.ACE.OLEDB.12.0
    //Povider=.NET Framework Data Provider for OLE DB …
Run Code Online (Sandbox Code Playgroud)

c# ms-access

5
推荐指数
1
解决办法
2万
查看次数

标签 统计

c# ×1

ms-access ×1