加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > MsSql教程 > 正文

连接SQLServer或Access数据库的字符串

发布时间:2020-12-12 13:06:38 所属栏目:MsSql教程 来源:网络整理
导读:?? / 设置连接字符串,必须是BSTR型或者_bstr_t类型 //这里选择的驱动是SQLOLEDB.1,如果你选择驱动是SQLNCLI.1则需要下载和安装。SQLOLEDB.1和SQLNCLI.1的区别是SQLOLEDB.1主要是针对SQLServer2000驱动协议比较完善 //而SQLNCLI.1是需要安装sqlncli.msi(SQL
??

/ 设置连接字符串,必须是BSTR型或者_bstr_t类型

//这里选择的驱动是SQLOLEDB.1,如果你选择驱动是SQLNCLI.1则需要下载和安装。SQLOLEDB.1和SQLNCLI.1的区别是SQLOLEDB.1主要是针对SQLServer2000驱动协议比较完善
//而SQLNCLI.1是需要安装sqlncli.msi(SQL Server Native Client 2005)SQL ADO驱动

//数据库身份验证模式为”SQL SERVER 和 windows“而言

? //(1)通过IP和端口来访问,需要在SQLServer配置管理器配置相应的端口(我这里是配置的端口是1433)
? //strConn = "Provider=SQLOLEDB.1;Persist Security Info=False; uid=sa;pwd=sa;Initial Catalog=student;Data Source=192.168.2.200,1433;";

? //(2)通过IP地址和实例来访问,需要安装有该实例
? //strConn = "Provider=SQLOLEDB.1;Persist Security Info=False; uid=sa;pwd=sa;Initial Catalog=student;Data Source=192.168.1.2mssqlserver2008r;";

//针对身份验证模式为“仅 windows”? (是否允许远程连接、是否在同一个计算机组域里面) :
? //Integrated Security=SSPI 这个表示以当前WINDOWS系统用户身去登录SQL SERVER服务器,如果SQL SERVER服务器不支持这种方式登录时,就会出错。
? //strConn= "Provider=SQLOLEDB.1;Integrated Security=SSPI;Persist Security Info=false;Initial Catalog=student;Data Source=PCNameSQLEXPRESS;";

//仅针对ODBC的连接方式
? //strConn="Provider=SQLOLEDB;Server=192.168.1.101;Database=student;uid=sa;pwd=sa;";

//访问access数据库(access 2003及以前的版本)
? //strConn="Provider=Microsoft.Jet.OLEDB.4.0;Data Source=D:student.mdb;";
//访问access数据库(access 2007及以后的版本:试用版office 2010 的AccessDatabaseEngine.exe可能有问题)
? //strConn="Provider=Microsoft.ACE.OLEDB.12.0;Data Source=D:student.accdb;";


数据库注意事项:
1、数据库无法远程访问
A:
(1)数据库是否配置了相应的端口。
(2)防火墙是否阻止数据库进程(安装目录下的SQLServr.exe,sqlbrower.exe)

2、学习参考资料: SQL数据类型和经典SQLSERVER语句大全


3、
本文就将以MySQL数据库为例,介绍如何通过SQL命令行将某个表的所有数据或指定字段的数据,导入到目标表 中。此方法对于SQLServer数据库,也就是T-SQL来说,同样适用 。

类别一、 如果两张张表(导出表和目标表)的字段一致,并且希望插入全部数据,可以用这种方法:
INSERT INTO? 目标表? SELECT? * FROM? 来源表 ;

例如,要将 articles 表插入到 newArticles 表中,则可以通过如下SQL语句实现:
INSERT INTO? newArticles? SELECT? * FROM? articles ;

类别二、 如果只希望导入指定字段,可以用这种方法:
INSERT INTO? 目标表 (字段1,字段2,...)? SELECT?? 字段1,...?? FROM? 来源表 ;

请注意以上两表的字段必须一致,否则会出现数据转换错误。


INSERT INTO TPersonnelChange(

??? UserId,

??? DepId,

??? SubDepId,

??? PostionType,

??? AuthorityId,

??? ChangeDateS,

??? InsertDate,

??? UpdateDate,

??? SakuseiSyaId

)SELECT

??? UserId,

??? DATE_FORMAT(EmployDate,'%Y%m%d'),

??? NOW(),

??? 1

FROM

??? TUserMst

WHERE

??? `Status` = 0

AND QuitFlg = 0

AND UserId > 2?

类别三、 :
INSERT INTO? 目标表 (字段1,...)? VALUE(字段值1,字段值2,...)


查询数据插入新表
create TABLE new as SELECT? a.id,b.app_id,a.name,b.score,a.created,a.updated,b.updated_at as hot_update from test1? as a LEFT JOIN test2 as b on a.id=b.app_id where b.app_id!='';


表已经存在选择特定列插入表,表1表2字段要一一对应

insert into test2 (keyword,num,app_id ) select keyword,app_id from test1

一个表的结果更新到另一个表里,两表有关联

updatetest1 as a,test2 as b set a.app_id=b.app_id where a.keyword=b.keyword

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读