扫二维码与项目经理沟通
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流
启动:net start mssqlserver
创新互联长期为上千客户提供的网站建设服务,团队从业经验10年,关注不同地域、不同群体,并针对不同对象提供差异化的产品和服务;打造开放共赢平台,与合作伙伴共同营造健康的互联网生态环境。为龙胜企业提供专业的网站设计、做网站,龙胜网站改版等技术服务。拥有10年丰富建站经验和众多成功案例,为您定制开发。
暂停:net pause mssqlserver
重新启动暂停的SQL SERVER:net continue mssqlserver
停止:net stop mssqlserver
DOS命令启动sql实例的服务大家都知道用NET START MSSQLSERVER\NET STOP MSSQLSERVER可以启动、关闭SQL默认的实例服务
但是如果安装了SQL实例,那么要启动这个实例的服务,就需要修改一下
比如安装了一个实例NewData,那么启动的时候就用
NET START MSSQL$NewData
即把原来的server换成 $实例名
关闭同理,用NET STOP MSSQL$NewData
1、在安装了ORACLE9i Standard Edition或者ORACLE9i Enterprise Edition的windows机器上(IP:192.168.0.2), 产品要选了透明网关(Oracle Transparent Gateway)里访问Microsoft SQL Server数据库
$ORACLE9I_HOME\tg4msql\admin下新写initpubs.ora和initnorthwind.ora配置文件.
initpubs.ora内容如下:
HS_FDS_CONNECT_INFO="SERVER=SQLSERVER_HOSTNMAE;DATABASE=pubs"
HS_DB_NAME=pubs
HS_FDS_TRACE_LEVEL=OFF
HS_FDS_RECOVERY_ACCOUNT=RECOVER
HS_FDS_RECOVERY_PWD=RECOVER
initnorthwind.ora内容如下:
HS_FDS_CONNECT_INFO="SERVER=sqlserver_hostname;DATABASE=Northwind"
HS_DB_NAME=Northwind
HS_FDS_TRACE_LEVEL=OFF
HS_FDS_RECOVERY_ACCOUNT=RECOVER
HS_FDS_RECOVERY_PWD=RECOVER
$ORACLE9I_HOME\network\admin 下listener.ora内容如下:
LISTENER =
(DESCRIPTION_LIST =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.0.2)(PORT = 1521))
)
)
)
SID_LIST_LISTENER =
(SID_LIST =
(SID_DESC =
(GLOBAL_DBNAME = test9)
(ORACLE_HOME = d:\oracle\ora92)
(SID_NAME = test9)
)
(SID_DESC=
(SID_NAME=pubs)
(ORACLE_HOME=d:\Oracle\Ora92)
(PROGRAM=tg4msql)
)
(SID_DESC=
(SID_NAME=northwind)
(ORACLE_HOME=d:\Oracle\Ora92)
(PROGRAM=tg4msql)
)
)
重启动这台做gateway的windows机器上(IP:192.168.0.2)TNSListener服务.
(凡是按此步骤新增可访问的SQL Server数据库时,TNSListener服务都要重启动)
2、ORACLE8I,ORACLE9I的服务器端配置tnsnames.ora, 添加下面的内容:
pubs =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.0.2)(PORT = 1521))
)
(CONNECT_DATA =
(SID = pubs)
)
(HS = pubs)
)
northwind =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.0.2)(PORT = 1521))
)
(CONNECT_DATA =
(SID = northwind)
)
(HS = northwind)
)
保存tnsnames.ora后,在命令行下
tnsping pubs
tnsping northwind
出现类似提示,即为成功
Attempting to contact (DESCRIPTION = (ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.0.2)
(PORT = 1521))) (CONNECT_DATA = (SID = pubs)) (HS = pubs))
OK(20毫秒)
Attempting to contact (DESCRIPTION = (ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.0.2)
(PORT = 1521))) (CONNECT_DATA = (SID = northwind)) (HS = northwind))
OK(20毫秒)
设置数据库参数global_names=false。
设置global_names=false不要求建立的数据库链接和目的数据库的全局名称一致。global_names=true则要求, 多少有些不方便。
oracle9i和oracle8i都可以在DBA用户下用SQL命令改变global_names参数
alter system set global_names=false;
建立公有的数据库链接:
create public database link pubs
connect to testuser identified by testuser_pwd using 'pubs';
create public database link northwind
connect to testuser identified by testuser_pwd using 'northwind';
(假设SQL Server下pubs和northwind已有足够权限的用户登陆testuser,
密码为testuser_pwd)
访问SQL Server下数据库里的数据:
select * from stores@pubs;
...... ......
select * from region@northwind;
...... ......
3、使用时的注意事项
ORACLE通过访问SQL Server的数据库链接时,用select * 的时候字段名是用双引号引起来的。
例如:
create table stores as select * from stores@pubs;
select zip from stores;
ERROR 位于第 1 行:
ORA-00904: 无效列名
select "zip" from stores;
zip
-----
98056
92789
96745
98014
90019
89076
已选择6行。
用SQL Navigator或Toad看从SQL Server转移到ORACLE里的表的建表语句为:
CREATE TABLE stores
("stor_id" CHAR(4) NOT NULL,
"stor_name" VARCHAR2(40),
"stor_address" VARCHAR2(40),
"city" VARCHAR2(20),
"state" CHAR(2),
"zip" CHAR(5))
PCTFREE 10
PCTUSED 40
INITRANS 1
MAXTRANS 255
TABLESPACE users
STORAGE (
INITIAL 131072
NEXT 131072
PCTINCREASE 0
MINEXTENTS 1
MAXEXTENTS 2147483645
)
/
总结:
WINDOWS下ORACLE9i网关服务器在$ORACLE9I_HOME\tg4msql\admin目录下的initsqlserver_databaseid.ora
WINDOWS下ORACLE9i网关服务器listener.ora里面
(SID_DESC=
(SID_NAME=sqlserver_databaseid)
(ORACLE_HOME=d:\Oracle\Ora92)
(PROGRAM=tg4msql)
)
UNIX或WINDOWS下ORACLE8I,ORACLE9I服务器tnsnames.ora里面
northwind =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.0.2)(PORT = 1521))
)
(CONNECT_DATA =
(SID = sqlserver_databaseid)
)
(HS = sqlserver_databaseid)
)
sqlserver_databaseid一致才行.
来自()
一、客户的数据库数据被篡改,利用Log Explorer工具根据日志生成的回滚脚本有200多M,不可能一下子扔到查询分析器里去执行,于是想是否SQL Server是否可以像Oracle那样直接执行.sql文件。讲过查资料,测试,发现可以在cmd窗口中执行如下命令执行Sql文件:
二、osql -S 127.0.0.1 -U sa -P sa -i d:\test.sql;
三、简单说明:osql为SQL Server的命令,要在cmd中执行该命令,一般安装完SQL Server后该命令对应的路径会自动添加到系统环境变量中。 -S 表示要连接的数据库服务器 -U表示登录的用户ID,-P表示登录密码 -i表示要执行的脚本文件路径。
四、Apache ant提供了直接执行sql脚本文件的功能:
五、Java代码:
public class AntExecSql
{public static void execSqlFile(String url, String userID, String pwd, String sqlFile)
{
SQLExec2 sqlExec = new SQLExec2();
// 设置数据库参数
sqlExec.setDriver("com.microsoft.sqlserver.jdbc.SQLServerDriver");
sqlExec.setUrl(url);
sqlExec.setUserid(userID);
sqlExec.setPassword(pwd);
File file = new File(sqlFile);
sqlExec.setSrc(file);
sqlExec.setPrint(true); // 设置是否输出
// 输出到文件 sql.out 中;不设置该属性,默认输出到控制台
// sqlExec.setOutput(new File("d:/script/sql.out"));
sqlExec.setProject(new Project()); // 要指定这个属性,不然会出错
sqlExec.execute();
}
public static void main(String[] args) {
String file1 = "C:/1.sql";
String url = "jdbc:sqlserver://localhost:1433;database=master";
String username = "sa";
String pwd = "sa@jiaj";
try {
AntExecSql.execSqlFile(url, username, pwd, file1);
} catch (Exception ex) {
ex.printStackTrace();
}
}
}
android好像没办法连接sqlserver吧。呵呵,如果你真想获取sqlserver中的数据,只能通过访问一个网页,以读取xml文件的方式来读取。
至少我看了这几天的android开发,没发现有读的sqlserver方法,也许我还没看到
打开你的企业管理器,右击SQL
SERVER组,新建SQL
SERVER注册,根据向导,下一步,在可用的服务器框写上远程的服务器的IP,添加,下一步,选择验证方式,根据对方给你的登录名和密码就可以连接到了,注册成功之后就可以跟本机的数据库操作一样的了。
查询分析器也是在链接到SQL
SERVER
里面填入远程数据库的IP和登录名与密码即可链接到远程数据库的了
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流