Foxtable(狐表)用户栏目专家坐堂 → [求助]数据库压缩


  共有2071人关注过本帖树形打印复制链接

主题:[求助]数据库压缩

帅哥哟,离线,有人找我吗?
wusim
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:小狐 帖子:391 积分:3179 威望:0 精华:0 注册:2008/8/31 20:44:00
[求助]数据库压缩  发帖心情 Post By:2017/6/7 20:42:00 [只看该作者]

我用动态连接数据库用以下代码:

 

BeforeConnectOuterDataSource

 

If e.Name = "AA" Then

    If Connections.TryConnect(e.ConnectionString) = False Then

        Dim strConn As String = ""

        Dim flag As Boolean = False

        If FileSys.FileExists(e.ProjectPath & "ip.txt") Then

            strC & FileSys.ReadAllText(e.ProjectPath & "ip.txt",Encoding.Default) & ";Persist Security Info=False;Jet OLEDB:Database Password=0856474"

            If Connections.TryConnect(strConn) = False Then

                flag = False

            Else

                e.ConnectionString = strConn

                flag = True

            End If

        End If

        If flag = False Then

            Dim dlg As New OpenFileDialog

            dlg.Filter= "Access文件|*.mdb"

            If dlg.ShowDialog = DialogResult.Ok Then

                e.C & dlg.FileName & ";Persist Security Info=False;Jet OLEDB:Database Password=0856474"

                FileSys.WriteAllText(e.ProjectPath & "ip.txt", dlg.FileName, False, Encoding.Default)

            End If

        End If

    End If

End If

 

我想怎样获取项目所连接数据库文件的目录,与压缩代码怎样结合起来?

CompactAccessFile("C:\Data\订单.mdb","123")

[此贴子已经被作者于2017/6/7 20:42:55编辑过]

 回到顶部
帅哥哟,离线,有人找我吗?
有点色
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:13837 积分:69650 威望:0 精华:0 注册:2016/11/1 14:42:00
  发帖心情 Post By:2017/6/7 20:55:00 [只看该作者]

方法一:你可以用一个public变量记录文件的路径;

 

方法二:

 

Dim str As String = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\abc.mdb;Persist Security Info=False"
Dim mc = System.Text.RegularExpressions.Regex.Matches(str,"(?<=Data Source=).+?(?=;)")
msgbox(mc(0).value)


 回到顶部
帅哥哟,离线,有人找我吗?
wusim
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:小狐 帖子:391 积分:3179 威望:0 精华:0 注册:2008/8/31 20:44:00
  发帖心情 Post By:2017/6/7 21:36:00 [只看该作者]

老师,还是不明,能不能详细点。

或者用什么代码读取ip.txt所保存的文件名

 

用这个代码:

Dim ipfile As String = projectpath & "ip.txt"   '定义Ipfile为配置文件
Dim dbfile As String = filesys.ReadAllText(ipfile)  '将dbfile定义为配置文件的内容,即数据库的路径
CompactAccessFile(dbfile,"856474")

 


图片点击可在新窗口打开查看此主题相关图片如下:398.jpg
图片点击可在新窗口打开查看
[此贴子已经被作者于2017/6/7 22:23:59编辑过]

 回到顶部
帅哥哟,离线,有人找我吗?
狐狸爸爸
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:管理员 帖子:47497 积分:251403 威望:0 精华:91 注册:2008/6/17 17:14:00
  发帖心情 Post By:2017/6/8 8:25:00 [只看该作者]

指定的文件不存在,你看看是不是代码中的路径或文件名错误。
另外改成英文的文件名看看。

 回到顶部
帅哥哟,离线,有人找我吗?
wusim
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:小狐 帖子:391 积分:3179 威望:0 精华:0 注册:2008/8/31 20:44:00
  发帖心情 Post By:2017/6/8 19:39:00 [只看该作者]

真的是不支持中文路径及中文文件名,有什么方法解决?

Dim dbfile As String = filesys.ReadAllText(ipfile)  '将dbfile定义为配置文件的内容,即数据库的路径
不是把ip.txt的路径读出来吗?

[此贴子已经被作者于2017/6/8 21:59:09编辑过]

 回到顶部
帅哥哟,离线,有人找我吗?
有点蓝
  6楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:110592 积分:562856 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2017/6/9 8:48:00 [只看该作者]

加上编码:http://www.foxtable.com/webhelp/scr/0344.htm

Dim s As string = FileSys.ReadAllText("c:\data\table.txt", Encoding.Default)
Output
.Show(s)

 回到顶部