提供3个建议:
1、检查执行安装程序的当前用户是否有完全控制系统盘的权限;
2、检查执行安装程序的当前用户是否有完全控制安装目录所在盘的权限;
3、去msdn i tell you网站下载一个SQL SERVER 2008 R2的安装包重装试试。
从错误信息来看,是缺少SQLServer的JDBC驱动包,可以通过如下方式解决:
1、如果是maven程序,在pom文件中加入sqlserver驱动
<dependency>
<groupId>commicrosoftsqlserver</groupId>
<artifactId>mssql-jdbc</artifactId>
<version>731jre12-preview</version>
<scope>test</scope>
</dependency>
2、如果不是maven程序,百度搜索jdbc sqlserver jar ,然后把下载的jar引入到程序中
public class test {
private static ResultSet RSQ;
private static Connection CONN;
public static void main(String args[]) {
ConStr ns = new ConStr();
String sql1 = "select mnames,micard from mtest where mnames= and micard =";
String[] ars = { "1234567890", "zhangsan"};
RSQ = nsPreparedStatementSelect(RSQ, CONN, sql1, ars);
try {
if(RSQ != null){
while (RSQnext()) {
Systemoutprintln(RSQgetString(1) + "=>" + RSQgetString(2));
}
}
} catch (SQLException e) {
etoString();
}
nscloseResultSet(RSQ);
nscloseConnection(CONN);
Systemoutprintln("select ok!");
}
public class ConStr {
public Connection getConnection(){
String url = "jdbc:mysql://localhost:3306/test";
String username = "root";
String password = "XXX";
Connection con = null;;
try{
ClassforName("commysqljdbcDriver") ;
con = DriverManagergetConnection(url , username , password ) ;
}catch(Exception ex){
exprintStackTrace();
}
return con;
}
public ResultSet PreparedStatementSelect(ResultSet rs,Connection con, String sql,String[] args){
if(con == null){
con = getConnection();
}
try {
PreparedStatement pstmt = conprepareStatement(sql) ;
int arrLen = argslength, i;
for(i = 0; i < arrLen; i ++){
if(!ConStrisNumeric(args[i]) || args[i]length() > 3){
pstmtsetString(i+1, args[i]);
}else{
pstmtsetInt(i+1, IntegerparseInt(args[i]));
}
}
rs = pstmtexecuteQuery();
} catch (SQLException e) {
eprintStackTrace();
}
return rs;
}
public static boolean isNumeric(String str){
return false;
}
public void closeResultSet(ResultSet rs){
if(rs == null){
return;
}
try {
rsclose();
} catch (SQLException e) {
eprintStackTrace();
}
}
public void closeConnection(Connection conn){
if(conn == null){
return;
}
try {
connclose();
} catch (SQLException e) {
eprintStackTrace();
}
}
分析结果是:
服务器: 消息 170,级别 15,状态 1,行 25
第25行: ' ' 附近有语法错误。
---------------------这一段改为以下方式,楼主没有处理好引号和空格
set @sql= 'update [' + @tableName + '] set ['+ @columnName + ']= replace(['+@columnName+ '], '''+@delStr+ ''', '''')
where [ '+@columnName+ '] like ' '%'+@delStr+ '%'''
-
给楼主写一个简单方法。
declare @delStr nvarchar(500)
set @delStr= ' <script src=>
最常使用的数据库有以下几种:
1sqlserver:微软的数据库管理系统,小中大型应用都挺适合,很多网络游戏就是用的sqlserver作为数据库的。微软的东西向来比较傻瓜,一般稍微学习一下看看资料就能上手了。我觉得学校使用sqlserver是不错的选择。
2mysql:免费数据库管理系统,小巧实用,很多人在开始学习数据库编程时选择的就是mysql。由于免费,更新比较慢,而且不太适合大型应用。
3db2:见下面oracle的介绍
4oracle:和db2一样,主要面向企业级应用,可以说是目前市场上最优秀的数据库管理系统之一了。
5aess:这个就不用多解释了,个人网站或其它小型应用可以选用aess。
以上,希望对你有所帮助。
1 首先是jdbcproperties属性文件的编写,便于数据库移植:
datasourcedriverClassName=oraclejdbcdriverOracleDriver
datasourceurl=jdbc:oracle:thin:@106111:1521:student
datasourceusername=zs
datasourcepassword=zs
datasourcedefaultAutoCommit=true
hibernatedialect=orghibernatedialectOracle9Dialect
#当连接池中的连接耗尽的时候c3p0一次同时获取的连接数。Default: 3
c3p0acquireIncrement=5
#初始化时获取三个连接,取值应在minPoolSize与maxPoolSize之间。Default: 3
c3p0initialPoolSize=10
#每60秒检查所有连接池中的空闲连接。Default: 0
c3p0idleConnectionTestPeriod=600
#-连接池中保留的最小连接数。
c3p0minPoolSize=5
#连接池中保留的最大连接数。Default: 15
c3p0maxPoolSize=50
#JDBC的标准参数,用以控制数据源内加载的PreparedStatements数量。但由于预缓存的statements
#属于单个connection而不是整个连接池。所以设置这个参数需要考虑到多方面的因素。
#如果maxStatements与maxStatementsPerConnection均为0,则缓存被关闭。Default: 0
c3p0maxStatements=100
#c3p0是异步 *** 作的,缓慢的JDBC *** 作通过帮助进程完成。扩展这些 *** 作可以有效的提升性能
#通过多线程实现多个 *** 作同时被执行。Default: 3
c3p0numHelperThreads=10
#最大空闲时间,60秒内未使用则连接被丢弃。若为0则永不丢弃。Default: 0
c3p0maxIdleTime=600
#hibernatedialect=orghibernatedialectSQLServerDialect
hibernatejdbcbatch_size=25
hibernatejdbcfetch_size=50
hibernateshow_sql=true
hibernateconnectionrelease_mode=after_transaction
2 其次是spring配置文件的数据源配置:
<bean id="propertyConfigurer" class="orgspringframeworkbeansfactoryconfigPropertyPlaceholderConfigurer">
<property name="location">
<value>/WEB-INF/classes/conf/jdbc/jdbcproperties</value>
</property>
</bean>
<bean id="dataSource" class="commchangev2c3p0ComboPooledDataSource" destroy-method="close" dependency-check="none">
<property name="driverClass">
<value>${datasourcedriverClassName}</value>
</property>
<property name="jdbcUrl">
<value>${datasourceurl}</value>
</property>
<property name="user">
<value>${datasourceusername}</value>
</property>
<property name="password">
<value>${datasourcepassword}</value>
</property>
<!-- 当连接池中连接耗尽的时候c3p0一次同时获取的连接数 -->
<property name="acquireIncrement">
<value>${c3p0acquireIncrement}</value>
</property>
<!--初始化时获取三个连接,取值应在minPoolSize与maxPoolSize之间。Default: 3 -->
<property name="initialPoolSize">
<value>${c3p0initialPoolSize}</value>
</property>
<!-- 最小连接数 -->
<property name="minPoolSize">
<value>${c3p0minPoolSize}</value>
</property>
<!-- 最大连接数 -->
<property name="maxPoolSize">
<value>${c3p0minPoolSize}</value>
</property>
<!--最大空闲时间,60秒内未使用则连接被丢弃。若为0则永不丢弃。Default: 0 -->
<property name="maxIdleTime">
<value>${c3p0maxPoolSize}</value>
</property>
<!--每60秒检查所有连接池中的空闲连接。Default: 0 -->
<property name="idleConnectionTestPeriod">
<value>${c3p0idleConnectionTestPeriod}</value>
</property>
<!--JDBC的标准参数,用以控制数据源内加载的PreparedStatements数量。但由于预缓存的statements属于单个connection而不是整个连接池。
所以设置这个参数需要考虑到多方面的因素。如果maxStatements与maxStatementsPerConnection均为0,则缓存被关闭。Default: 0-->
<property name="maxStatements">
<value>${c3p0maxStatements}</value>
</property>
<!--c3p0是异步 *** 作的,缓慢的JDBC *** 作通过帮助进程完成。扩展这些 *** 作可以有效的提升性能通过多线程实现多个 *** 作同时被执行。Default: 3-->
<property name="numHelperThreads">
以上就是关于2008R2数据库报错求解答全部的内容,包括:2008R2数据库报错求解答、用java连接数据库报错。。、关于JAVA *** 作数据库报错的问题,谢谢大家帮忙等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)