怎样才能让我的winform程序支持多种数据库

怎样才能让我的winform程序支持多种数据库,第1张

需要首先进行分层,最好将访问数据库的部分独立出来构成单独的数据访问层,

然后这些功能都从同一个接口继承下来,然后采用楼下所说的工厂方法即可。

在网上比如51aspx都有一些基本的分层结构源代码下载的,找一个简单的学习一下即可。

exec sp_configure 'show advanced options',1 reconfigure exec sp_configure 'Ad Hoc Distributed Queries',1 reconfigure

GO

insert into 目标数据库目标表架构目标表(目标列1,目标列2) select 虚拟临时表 from openrowset(‘数据源库驱动程序名’,‘数据源库访问连接字串’,‘select 数据源列1,数据源列2 from 数据源库数据源表架构数据源表 where )as 虚拟临时表’

GO

exec sp_configure 'show advanced options',1 reconfigure exec sp_configure 'Ad Hoc Distributed Queries',1 reconfigure

GO

第一种方案:利用SqlDependency类,不过这个刚好是针对你2005的,你可以考虑尝试使用这个才实现监听数据库变化。

第二种方案:自己手工添加触发器来进行实现监听功能。

第三种方案:数据表

轮询

,不过个人是不建议你用此方法,太耗资源了一点。

可以将查询条件放到gridview上面,点击查询下面出来数据结果

点添加和修改可以到另一个界面去有文本框,可以输入修改,保存取消

删除就在查询按钮后面,删除当前选中的数据

远程连接有点复杂,首先要保证客户端与SQL服务器连接

步骤:

一 看ping 服务器IP能否ping通。

这个实际上是看和远程sql server 2000服务器的物理连接是否存在。如果不行,请检查网络,查 看配

置,当然得确保远程sql server 2000服务器的IP拼写正确。

二 在Dos或命令行下输入telnet 服务器IP 端口,看能否连通。

如telnet 202114100100 1433

通常端口值是1433,因为1433是sql server 2000的对于Tcp/IP的默认侦听端口。如果有问题,通常这

一步会出问题。通常的提示是“……无法打开连接,连接 失败"。

如果这一步有问题,应该检查以下选项。

1 检查远程服务器是否启动了sql server 2000服务。如果没有,则启动。

2 检查服务器端有没启用Tcp/IP协议,因为远程连接(通过因特网)需要靠这个协检查方法是,在服

务器上打开开始菜单->程序->Microsoft SQL Server->服务器网络实用工具,看启用的协议里

是否有tcp/ip协议,如果没有,则启用它。

3 检查服务器的tcp/ip端口是否配置为1433端口。仍然在服务器网络实用工具里查看启用协议里面的

tcp/ip的属性,确保默认端口为1433,并且隐藏服务器复选框 没有勾上。

事实上,如果默认端口被修改,也是可以的,但是在客户端做telnet测试时,写服务器端口号时必须

与服务器配置的端口号保持一致。如果隐藏服务器复选框被勾 选,则意味着客户端无法通过枚

举服务器来看到这台服务器,起到了保护的作用, 但不影响连接,但是Tcp/ip协议的默认端口将被

隐式修改为2433,在客户端连接 时必须作相应的改变。

4 如果服务器端 *** 作系统打过sp2补丁,则要对windows防火墙作一定的配置,要对它开放1433端口,

通常在测试时可以直接关掉windows防火墙(其他的防火墙也 关掉最好)。

5 检查服务器是否在1433端口侦听。如果服务器没有在tcp连接的1433端口侦听,则是连接不上的。检

查方法是在服务器的dos或命令行下面输入

netstat -a -n 或者是netstat -an,在结果列表里看是否有类似 tcp 127001 1433 listening

的项。如果没有,则通常需要给sql server 2000打上至少sp3的补丁。其实在服务器端启动查询分

析器,输入 select @@version 执行后可以看到版本号,版本号在802039以下的都需要打补丁。

如果以上都没问题,这时你再做telnet 服务器ip 1433 测试,将会看到屏幕一 闪之后光标在左上

角不停闪动。恭喜你,你马上可以开始在企业管理器或查询分析 器连接了。

三 检查客户端设置

程序->Microsoft SQL Server -> 客户端网络使用工具。像在服务器网络实用工具里一样,确保客 户端

tcp/ip协议启用,并且默认端口为1433(或其他端口,与服 务器端保持一致就行)。

四 在企业管理器里或查询那分析器连接测试

企业管理器->右键SQlserver组->新建sqlserver注册->下一步->写入远程IP-> 下一步->选Sqlserver登陆-

>下一步->写入登陆名与密码(sa,password)->下一 步->下一步->完成 查询分析器->文件->连接->写

入远程IP->写入登录名和密码(sa,password)->确 定

通常建议在查询分析器里做,因为默认情况下,通过企业管理器注册另外一台SQL Server的超时设置

是4秒,而查询分析器是15秒。

修改默认连接超时的方法:

企业管理器->工具->选项->在d出的"SQL Server企业管理器属性"窗口中,点击"高级"选项卡->连接设

置->在登录超时(秒) 后面的框里输入一个较大的数字

查询分析器->工具->选项->连接->在登录超时(秒) 后面的框里输入一个较大的数 字

通常就可以连通了,如果提示错误,则进入下一步。

五 错误产生的原因通常是由于SQL Server使用了"仅 Windows"的身份验证方式,因 此用户无法使 用

SQL Server的登录帐户(如 sa )进行连接。解决方法如下所示:

1 在服务器端使用企业管理器,并且选择"使用 Windows 身份验证"连接上 SQL Server。

2 展开"SQL Server组",鼠标右键点击SQL Server服务器的名称,选择"属性",再选择"安全性"选项卡。

3 在"身份验证"下,选择"SQL Server和 Windows "。

4 重新启动SQL Server服务。(在dos或命令行下面net stop mssqlserver停止服务, net start mssqlserver启

动服务,也是一种快捷的方法)。

附注:在连接本地服务器时,通常使用的是命名管道协议(在服务器网络实用工具里可以看到启用的

协议有这个),默认端口是445,因此在本地能连通是不能说明什么问题的,连接远程服务器是完全

不同的协议)

//如果是在远程连接sql2000,采用下面连接字符串

// string source = "database=Northwind;Server=1921681181,1433;User ID=sa;Password=sa;Persist Security Info=True";

以上就是关于怎样才能让我的winform程序支持多种数据库全部的内容,包括:怎样才能让我的winform程序支持多种数据库、在winform中,sql server实现两台服务器,不同表结构数据库的数据同步、C# winform 程序 如果实现监听数据库的某张表等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/sjk/9495060.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-28
下一篇 2023-04-28

发表评论

登录后才能评论

评论列表(0条)

保存