RDBMS
方言
DB2
org.hibernate.dialect.DB2Dialect
DB2 AS/400
org.hibernate.dialect.DB2400Dialect
DB2 OS390
org.hibernate.dialect.DB2390Dialect
PostgreSQL
org.hibernate.dialect.PostgreSQLDialect
MySQL
org.hibernate.dialect.MySQLDialect
MySQL with InnoDB
org.hibernate.dialect.MySQLInnoDBDialect
MySQL with MyISAM
org.hibernate.dialect.MySQLMyISAMDialect
Oracle (any version)
org.hibernate.dialect.OracleDialect
Oracle 9i/10g
org.hibernate.dialect.Oracle9Dialect
Sybase
......
创建sql数据库复制的发布、订阅的问题处理[转]
操作使用的一些技巧(事务复制类型):
1.如何修改一个已经发布的表的属性?
将发布所有订阅删除,(发布不用删除),就可以在发布属性的项目中取消表,然后就
可以修改该表了,修改后,再将表加入发布内就可以了.
2.常用的操作界面:
(1)一般都在监视器--发布项目,可以看到快照 分发和订阅的即时信息.
(2)另外一个操作地方是发布的属性,(在属性--状态里可以启动代理)
(3)还有一个是工具--复制--配置发布、订阅服务器和分发,需要订阅的服务器必
须在这里指定授权后订阅才能成功.
============
问题:
数据库无法登陆的老问题:数据库属性-安全里面,不要选仅windows登陆,换另外一
个模式.
0.订阅一个快照发布(不是事务复制)出错,"21776 名称xxx在TransPublication集
合上没有找到",在企业管理器中,将发布数据库和订阅数据库都停止或者断开,再
启动,重新连接就可以订阅快照发布了.真是奇怪,有莫名其妙的问题可以尝试重启
服务器试试,有时后一台机器上可以正常控制订阅操作,而另外一台机器上却订阅
操作出错,也重新 ......
行换列:
--> 生成测试数据表: [tb]
IF OBJECT_ID('[tb]') IS NOT NULL
DROP TABLE [tb]
GO
CREATE TABLE [tb] ([a] [int],[b] [int],[c] [int])
INSERT INTO [tb]
SELECT '3','9','5' UNION ALL
SELECT '5','2','7' UNION ALL
SELECT '6','3','8'
--SELECT * from [tb]
-->SQL查询如下:
select value maxnum from tb unpivot(value for type in(a,b,c)) b
########################################
列换行:
待补充 ......
---上个月月初第一天
select CONVERT(varchar(12) , DATEADD(mm,DATEDIFF(mm,0,dateadd(mm,-1,getdate())),0), 112 )
---上个月月末最后一天
select CONVERT(varchar(12),dateadd(ms,-3,DATEADD(mm,DATEDIFF(m,0,getdate()),0)), 112 )
1. 显示本月第一天
SELECT DATEADD(mm,DATEDIFF(mm,0,getdate()),0)
select convert(datetime,convert(varchar(8),getdate(),
120)+'01',120)
2. 显示本月最后一天
select dateadd(day,-1,convert(datetime,convert
(varchar(8),dateadd(month,1,getdate()),120)+'01',120))
SELECT dateadd(ms,-3,DATEADD(mm,DATEDIFF(m,0,getdate())+1,0))
3. 上个月的最后一天
SELECT dateadd(ms,-3,DATEADD(mm,DATEDIFF(mm,0,getdate()),0))
4. 本月的第一个星期一i
select DATEADD(wk,DATEDIFF(wk,0, dateadd(dd,6-datepart(
day,getdate()),getdate())),0)
5. 本年的第一天
SELECT DATEADD(yy,DATEDIFF(yy,0,getdate()),0)
6. 本年的最后一天
SELECT dateadd(ms,-3,DATEADD(yy,DATEDIFF(yy,0,getdate())+1,0))
7. 去年的最后一天
SELECT dateadd(ms,-3,DATEADD(yy,DAT ......
select [name] from sysdatabases order by name--得到数据库中所有的库名
select [name] from sysobjects where xtype='U'and [name]<>'dtproperties' order by [name]--得到数据库表中的列表
select [name] from sysobjects where xtype='V' and [name]<>'syssegments' and [name]<>'sysconstraints' order by [name]--视图
select [name] from sysobjects where xtype='P'and [name]<>'dtproperties' order by [name]--存储过程 ......
向高手请教一个问题:
当我执行:
use master
exec xp_cmdshell 'osql /S musqlserver /U sa /P mypwd /d haodb /Q "select top 10 * from trandetail" /o C:\my1.xls'
以上执行成功,会产生新文件:C:\my1.xls'
然后我想将此文件直接copy到另一台电脑中[已建连接]
执行
EXEC xp_cmdshell 'copy C:\my1.xls \\192.168.42.42\d$'
时候,系统会提示"拒绝访问"
而在DOS窗口中执行:
C:\my1.xls \\192.168.42.42\d$ 则没有任何问题
我想应该是用户权限的问题
因为在sql中,用户是sa
在DOS中,用户则是administrator
那我应该怎么做??
先建立共享信用关系
master..xp_cmdshell 'net use \\192.168.42.42\d$ 123 /user:domain\administrator'
关于net use的用法看帮助。
exec xp_cmdshell 'net use Z: \\192.168.42.42\d$ /user:domain\administrator'
exec xp_cmdshell 'copy C:\my1.xls Z:\'
exec xp_cmdshell 'net use Z: /del'
......