在MS
SQL
SERVER
中:
打开查询分析器,选择数据库,在脚本编辑窗口中输入SQL语句,点击保存,即可将扩展名为SQL的脚本文件存入磁盘(默认我的文档或选择的文件夹)中。
1、必须先安装Microsoft Office Access 2003,和SQL Server数据库。
2、用Access 2003打开动数据库,打开后按工具栏——数据库实用工具——转换数据库——转换为2002-2003格式,把数据库转换成2003格式。
3、转换完成后再用Access 2003打开,打开后按工具栏——数据库实用工具——升迁向导——新建数据库——填写SQL数据库登陆名称、密码和要新建的数据库(准备转成新的数据库),按下一步,按“ 》”键,再按下一步,选取所有选项,再按下一步,选择“不对应用程序作任何改动”,再按完成。
4、打开SQL企业管理器——数据库---选中相应的数据库---右键所有任务-----生成SQL脚本——常规——全部显示——编写全部对象脚本——确定(记住存放的位置)。
5、用记事本打开刚才生成的SQL脚本,在编辑栏——替换——查找内容为“smalldatetime”替换为“datetime”——替换全部;完成后再在编辑栏——替换——查找内容为“nvarchar”替换为“varcha”——替换全部,完成后保存退出。
6、打开SQL企业管理器——数据库——点击新建的数据库,然后在工具栏——SQL查询分析器——文件——打开——“刚才生成的SQL脚本”——查询——执行,然后关闭窗口。
7、再回到SQL企业管理器——数据库——点击新建的数据库,然后打开工具栏——数据库转换服务——导入数据——下一步——数据源“Microsoft Access”文件名“为旧的acc数据库”——下一步——再下一步——从源数据复制表和视图——下一步——全选——下一步——立即运行——下一步——完成。
8、最后补充:
(1)由于SQL2000里面没有"自动编号",所以你的以"自动编号"设置的字段都会变成非空的字段,这就必须手工修改这些字段,并把他的"标示"选择"是",种子为"1",增量为"1",
(2)另外,ACCESS2000转换成SQL2000后,原来属性为"是/否"的字段将被转换成非空的"bit",这时候你必须修改成自己想要的属性了;
(3)另外,大家要注意对时间函数的把握ACCESS与SQL是有很多不同的
根据以上3点,再回到SQL企业管理器——数据库——点击这个数据库下新建的数据库,将所有表的字段属性根据以上3点进行修改
补充说明:
自动增加字段需要重写。在access中经常使用的自动编号字段,导入到mssql后,他并不是自增型的int,需要手工设置,把导入后的自动编号字段的标识的“否”改为“是”,“种子”和“递增量”都为“1”,才能成为自动编号
所有的默认值都丢失了。主要是数字类型和日期类型
所有now(),time(),date()要改成getdate()
所有datediff(‘d‘, time1, time2)要改成datediff(day, time1, time2)
所有datediff(‘ww‘, time1, time2)要改成datediff(week, time1, time2)
所有datediff(‘d‘, time1, time2)要改成datediff(day, time1, time2)
在mssql server中,有许多保留字,在access中是没有的,当你把数据导入到mssql的时候,问题就出来了。mssql在导入的时候,会自动给这些字段(包括数据库中的表名)加上“[字段名]”,因此,你必须修改你的脚本,把相应的字段名字(或者表名字)加上中括号,或改变字段名字为不是mssql的保留字
在用access关于时间的使用,大家喜欢使用“select from aaaa while time="
命令:create database <数据库名>
例1:建立一个名为xhkdb的数据库
mysql> create database xhkdb;
例2:创建数据库并分配用户
①CREATE
DATABASE 数据库名;
②GRANT SELECT,INSERT,UPDATE,DELETE,CREATE,DROP,ALTER ON
数据库名 TO 数据库名@localhost IDENTIFIED BY '密码';
③SET PASSWORD
FOR '数据库名'@'localhost' = OLD_PASSWORD('密码');
依次执行3个命令完成数据库创建。注意:中文
“密码”和“数据库”是户自己需要设置的。
通过shell脚本调用sql脚本:
1、shell脚本调用sql脚本
#首先编辑sql文件
oracle@SZDB:~> more deptsql
connect scott/tiger
spool /tmp/deptlst
set linesize 100 pagesize 80
select from dept;
spool off;
exit;
#编辑shell脚本文件,在shell脚本内调用sql脚本
oracle@SZDB:~> more get_deptsh
#!/bin/bash
# set environment variable
if [ -f ~/bashrc ]; then
~/bashrc
fi
export ORACLE_SID=CNMMBO
sqlplus -S /nolog @/users/oracle/deptsql #注意此处执行sql脚本的方法 -S 表示以静默方式执行
exit
#授予脚本执行权限
oracle@SZDB:~> chmod 775 get_deptsh
-->执行shell脚本
oracle@SZDB:~> /get_deptsh
DEPTNO DNAME LOC
---------- -------------- -------------
10 ACCOUNTING NEW YORK
20 RESEARCH DALLAS
30 SALES CHICAGO
40 OPERATIONS BOSTON
2、shell脚本调用rman脚本
#首先编辑RMAN脚本
oracle@SZDB:~> more rmanrcv
RUN {
CONFIGURE RETENTION POLICY TO RECOVERY WINDOW OF 7 DAYS;
CONFIGURE BACKUP OPTIMIZATION ON;
CONFIGURE CONTROLFILE AUTOBACKUP ON;
CONFIGURE CONTROLFILE AUTOBACKUP FORMAT FOR DEVICE TYPE DISK TO '/users/oracle/bak/%d_%F';
ALLOCATE CHANNEL CH1 TYPE DISK MAXPIECESIZE=4G;
ALLOCATE CHANNEL CH2 TYPE DISK MAXPIECESIZE=4G;
SET LIMIT CHANNEL CH1 READRATE=10240;
SET LIMIT CHANNEL CH1 KBYTES=4096000;
SET LIMIT CHANNEL CH2 READRATE=10240;
SET LIMIT CHANNEL CH2 KBYTES=4096000;
CROSSCHECK ARCHIVELOG ALL;
DELETE NOPROMPT EXPIRED ARCHIVELOG ALL;
BACKUP
DATABASE FORMAT '/users/oracle/bak/%d_FULL__%U';
SQL 'ALTER SYSTEM ARCHIVE LOG CURRENT';
BACKUP ARCHIVELOG ALL FORMAT '/users/oracle/bak/%d_LF_%U' DELETE INPUT;
DELETE NOPROMPT OBSOLETE;
RELEASE CHANNEL CH1;
RELEASE CHANNEL CH2;
}
#编辑shell脚本文件,在shell脚本内调用rman脚本
oracle@SZDB:~> more rman_baksh
#!/bin/bash
# set environment variable
if [ -f ~/bashrc ]; then
~/bashrc
fi
export ORACLE_SID=CNMMBO
$ORACLE_HOME/bin/rman target / cmdfile=/users/oracle/rmanrcv log=/users/oracle/bak/rmanlog
exit
#授予脚本执行权限
oracle@SZDB:~> chmod 775 rman_baksh
#执行shell脚本
这里是我些的模板! 具体你自己修改! 有点基本的VBS工底就可以了!
==============================================================
dim cn
dim rs
dim row
dim col
dim viewdata '继承返回的查询结果 将从这里获取查询的返回内容
dim mdbpath '这个是mdb数据库文件路径
dim SQLcmd '这里是SQL语句
dim STRsql '返回的查询结果存放在这个变量里
set cn=CreateObject("ADODBConnection")
set rs=CreateObject("ADODBRecordset")
mdbpath="d:\passmdb"
cnOpen "DSN=dsnmdb;Uid=;Pwd="
SQLcmd="select from Pathlist"
rsOpen SQLcmd,cn,,,adCmdText
if rsbof=false then '如果查询结果有返回的则
viewdata=rsGetRows
STRsql=""
for row=0 to UBound(viewdata,2) '获取二维数组的长度
for col=0 to UBound(viewdata,1)
strsql=strsql & viewdata(col,row) & " "
next
strsql=strsql & vbcrlf
next
end if
rsclose
cnclose
msgbox strsql
icrosoft SQL Server\MSSQL\Install的安装路径下有许多sql脚本。我想通过自己写的小程序(VC++和ADO)执行创建数据库的sql脚本,比如instpubssql(创建pubs数据库脚本)。但每次总提示“GO”附近语法错误,不知何故,望高手指点。先谢。
我的程序流程如下:
连接数据库--〉读出instpubssql的脚本--〉将文字传给command-->recordSet执行command
代码如下:
CADOCommand command(&m_Connect, strSQL, adCmdUnknown);
m_RecordSetExecute(&command);
直接用commandExecute()也不对。
commandSetText(strSQL);
commandExecute();
同样方法执行很短的sql脚本正常,但前提要把所有的“GO”去掉。
"C:\Program Files\MySQL\MySQL Server 50\bin\mysqldumpexe" -uroot -hlocalhost -p密码 --all-databases>d:\%data%sql 看你需要备份哪个数据库 只需要修改all就可以了
CREATE USER user_name
[ { { FOR | FROM }
{
LOGIN login_name
}
| WITHOUT LOGIN
}
]
[ WITH DEFAULT_SCHEMA = schema_name ]
[;]
-- SQL Database syntax when connected to a federation member
CREATE USER user_name
[;]
参数说明:
user_name
指定在此数据库中用于识别该用户的名称。 user_name 的数据类型为 sysname。 它的长度最多是 128 个字符。 在创建基于 Windows 主体的用户时,除非指定其他用户名,否则 Windows 主体名称将成为用户名。
LOGIN login_name
指定要为其创建数据库用户的登录名。 login_name 必须是服务器中的有效登录名。 可以是基于 Windows 主体(用户或组)的登录名,也可以是使用 SQL Server 身份验证的登录名。 当此 SQL Server 登录名进入数据库时,它将获取正在创建的这个数据库用户的名称和 ID。 在创建从 Windows 主体映射的登录名时,请使用格式 [<domainName>\<loginName>]。 有关示例,请参阅语法摘要。
如果 CREATE USER 语句是 SQL 批处理中唯一的语句,则 Windows Azure SQL Database 将支持 WITH LOGIN 子句。 如果 CREATE USER 语句不是 SQL 批处理中唯一的语句或在动态 SQL 中执行,则不支持 WITH LOGIN 子句。
WITH DEFAULT_SCHEMA = schema_name
指定服务器为此数据库用户解析对象名时将搜索的第一个架构。
windows_principal'
指定正为其创建数据库用户的 Windows 主体。 windows_principal 可以是 Windows 用户或 Windows 组。 即使 windows_principal 没有登录名,也将创建该用户。 连接 SQL Server 时,如果 windows_principal 没有登录名,Windows 主体必须通过有登录名的 Windows 组中的成员身份在数据库引擎中进行身份验证,或者连接字符串必须将包含数据库指定为初始目录。 在从 Windows 主体创建用户时,请使用格式 [<domainName>\<loginName>]。
以上就是关于如何创建sql语句脚本全部的内容,包括:如何创建sql语句脚本、怎么通过力控软件删除sql数据库中的单个内容 函数脚本怎么编写、mysql建数据库,mysql怎么用脚本建库等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)