我有一个正在通过ODBC连接访问的ms-access应用程序和ms-sql db。我试图迫使我的用户仅通过应用程序部分来更新数据,但是我不在乎他们是直接读取数据还是通过自己的自定义ms-access数据库读取数据(他们将其用于创建临时报告)。
我正在寻找的是一种使数据仅在使用我分发给他们的已编译.mde文件的情况下才可编辑的方法。我知道我可以使数据对一般人群只读,对某些用户可编辑。
有没有一种方法可以让ms-sql仅当他们通过我的罐头mde访问数据时才使数据可编辑?
想过,是否有一种方法可以让ms-access以其他用户身份登录数据库(或在连接后更改登录名)?
@Jake, 是的,它正在使用表格。我想做的就是在启动板/主菜单窗体弹出时让它切换用户一次。
@Peter, 这确实是我要去的方向。我还不确定如何切换到第二个ID。我并不担心密码会被窃听,用户都是内部用户,并且都在内部局域网上。如果他们可以嗅探该密码,那么他们当然可以嗅探我的特权ID。
@一般而言,没人知道, 现在它的安全性还不清楚。我为s使用了特殊的.mdb进行报告,这使他们可以读取数据,但不能更新数据。他们不知道有关通过ODBC连接重新链接到表的信息。稍多一些具有ms-access / DB文化素养的用户可以通过我在几秒钟内完成的工作-并且有些人认为自己是DBA,因此他们最终会弄清楚。
为了解决Linux系统连接MSSql Server的问题,微软为Linux系统提供了连接MSSql Server的ODBC官方驱动。通过官方驱动,Linux程序可以方便地对MSSql Server进行访问。
官网提供了三个版本的驱动,分别用于以下发行版的Linux系统:
64bit Red Hat Enterprise Linux 5
64bit Red Hat Enterprise Linux 6
64bit SUSE Linux Enterprise 11 Service Pack 2
(实测 64bit CentOS 6.4 和 64bit CentOS 7.1 可以安装使用64bit Red Hat Enterprise Linux 6版本的ODBC驱动)
安装配置过程可以通过以下步骤完成:
Red Hat 5/6:https://www.microsoft.com/en-us/download/details.aspx?id=36437
SUSE 11:http://www.microsoft.com/en-us/download/details.aspx?id=34687
tar xzf msodbcsql-11.0.2270.0.tar.gz cd msodbcsql-11.0.2270.0 ./build_dm.sh (这个文章似乎漏了一步,因为命令行有提示Run the command 'cd/tmp/unixODBC.30130.2651.301/unixODBC-2.3.0;make install' to install the driver manager)
./install.sh install 4. 通过命令行连接到数据库服务器
安装完驱动后就可以通过驱动自带的命令行工具测试连接了:
sqlcmd -S 192.168.1.10 -U sa -P sa -d master -Q 'select "Hello World"' 假如连接成功,该命令就会输出“Hello World”的查询结果
sqlcmd命令除了可以通过指定地址、用户名密码连接数据库外,还可以通过指定数据源名称连接数据库。数据源可以通过unixODBC所提供的odbcinst命令进行配置:
1). 建立模版配置文件 template.ini,内容如下
复制代码 [DataSourceName] Driver = ODBC Driver 11 for SQL Server Server = 192.168.1.10 UID = sa PWD = sa Database = master 复制代码 2). 导入配置
odbcinst -i -s -l -f template.ini 执行完之后,可以再次通过sqlcmd命令工具来测试连接
sqlcmd -S DataSourceName -Q 'select "Hello World"' 该命令和前面的直接指定IP地址和用户名密码的命令得到同样的结果
该例子是通过修改CodeIgniter 3.0.0的mssql driver,把所有原mssql_* API 替换成odbc_* API,让所有数据库操作都通过ODBC连接进行,同时也复用了原CodeIgniter框架对mssql的支持。项目代码托管在github上:https://github.com/ratzhou/CodeIgniter。以下是使用修改后的CodeIgniter框架通过ODBC连接MSSql Server
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。