我目前正在制作一个全天候运行的应用程序,并不断从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)