ibatis连接MS SQL数据库问题

问题描述

java.lang.ExceptionInInitializerErrorCaused by: java.lang.RuntimeException: Error occurred. Cause: com.ibatis.common.xml.NodeletException: Error parsing XML. Cause: org.xml.sax.SAXParseException: The content of element type "sqlMapConfig" is incomplete, it must match "(properties?,settings?,resultObjectFactory?,typeAlias*,typeHandler*,transactionManager?,sqlMap+)+".at com.ibatis.sqlmap.engine.builder.xml.SqlMapConfigParser.parse(SqlMapConfigParser.java:89)at com.ibatis.sqlmap.client.SqlMapClientBuilder.buildSqlMapClient(SqlMapClientBuilder.java:63)at com.org.sqlmap.SqlMapClientTest.<clinit>(SqlMapClientTest.java:16)Caused by: com.ibatis.common.xml.NodeletException: Error parsing XML. Cause: org.xml.sax.SAXParseException: The content of element type "sqlMapConfig" is incomplete, it must match "(properties?,settings?,resultObjectFactory?,typeAlias*,typeHandler*,transactionManager?,sqlMap+)+".at com.ibatis.common.xml.NodeletParser.parse(NodeletParser.java:53)at com.ibatis.sqlmap.engine.builder.xml.SqlMapConfigParser.parse(SqlMapConfigParser.java:86)... 2 moreCaused by: org.xml.sax.SAXParseException: The content of element type "sqlMapConfig" is incomplete, it must match "(properties?,settings?,resultObjectFactory?,typeAlias*,typeHandler*,transactionManager?,sqlMap+)+".at com.sun.org.apache.xerces.internal.util.ErrorHandlerWrapper.createSAXParseException(Unknown Source)at com.sun.org.apache.xerces.internal.util.ErrorHandlerWrapper.error(Unknown Source)at com.sun.org.apache.xerces.internal.impl.XMLErrorReporter.reportError(Unknown Source)at com.sun.org.apache.xerces.internal.impl.XMLErrorReporter.reportError(Unknown Source)at com.sun.org.apache.xerces.internal.impl.dtd.XMLDTDValidator.handleEndElement(Unknown Source)at com.sun.org.apache.xerces.internal.impl.dtd.XMLDTDValidator.endElement(Unknown Source)at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanEndElement(Unknown Source)at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl$FragmentContentDriver.next(Unknown Source)at com.sun.org.apache.xerces.internal.impl.XMLDocumentScannerImpl.next(Unknown Source)at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanDocument(Unknown Source)at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(Unknown Source)at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(Unknown Source)at com.sun.org.apache.xerces.internal.parsers.XMLParser.parse(Unknown Source)at com.sun.org.apache.xerces.internal.parsers.DOMParser.parse(Unknown Source)at com.sun.org.apache.xerces.internal.jaxp.DocumentBuilderImpl.parse(Unknown Source)at com.ibatis.common.xml.NodeletParser.createDocument(NodeletParser.java:157)at com.ibatis.common.xml.NodeletParser.parse(NodeletParser.java:50)... 3 moreException in thread "main" 代码:package com.org.sqlmap;import java.io.IOException;import java.io.Reader;import com.ibatis.common.resources.Resources;import com.ibatis.sqlmap.client.SqlMapClient;import com.ibatis.sqlmap.client.SqlMapClientBuilder;public class SqlMapClientTest {private static SqlMapClient sqlMapper;static { try { Reader reader = Resources.getResourceAsReader("com/org/ibatis/SqlMapConfig.xml"); sqlMapper = SqlMapClientBuilder.buildSqlMapClient(reader); reader.close(); } catch (IOException e) { // Fail fast. throw new RuntimeException("Something bad happened while building the SqlMapClient instance." + e, e); } }/** * @param args */public static void main(String[] args) {// TODO Auto-generated method stub}}配置:<?xml version="1.0" encoding="UTF-8" ?><!DOCTYPE sqlMapConfig PUBLIC "-//ibatis.apache.org//DTD SQL Map Config 2.0//EN" "http://ibatis.apache.org/dtd/sql-map-config-2.dtd"><sqlMapConfig> <!-- Configure a built-in transaction manager. If you're using an app server, you probably want to use its transaction manager and a managed datasource --> <transactionManager type="JDBC" commitRequired="false"> <dataSource type="SIMPLE"> <property name="JDBC.Driver" value="com.microsoft.jdbc.sqlserver.SQLServerDriver"/> <property name="JDBC.ConnectionURL" value="jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=pubs;SelectMethod=Cursor"/> <property name="JDBC.Username" value="sa"/> <property name="JDBC.Password" value="sa"/> </dataSource> </transactionManager> <!-- List the SQL Map XML files. They can be loaded from the classpath, as they are here (com.domain.data...) --> <!-- List more here... <sqlMap resource="com/mydomain/data/Order.xml"/> <sqlMap resource="com/mydomain/data/Documents.xml"/> --></sqlMapConfig>

解决方案

Caused by: org.xml.sax.SAXParseException: The content of element type "sqlMapConfig" is incomplete, it must match "(properties?,settings?,resultObjectFactory?,typeAlias*,typeHandler*,transactionManager?,sqlMap+)+". 这个异常给出的信息是:properties,settings,resultObjectFactory,transactionManager可出现0~1次(?符号表达)typeAlias,typeHandler可出现0~n次(*符号表达)sqlMap至少出现1次(+符号表达)所以你加上sqlMap配置,应该就没问题了
解决方案二:
The content of element type "sqlMapConfig" is incomplete, it must match "(properties?,settings?,resultObjectFactory?,typeAlias*,typeHandler*,transactionManager?,sqlMap+)+".at sqlMap必须有至少1个

时间: 2024-11-29 17:55:06

ibatis连接MS SQL数据库问题的相关文章

php 如何连接MS SQL Server 数据库

php教程 如何连接MS SQL Server 数据库教程 下面是连接到MSSQL服务器数据库代码. <?php $myServer = "localhost"; $myUser = "your_name"; $myPass = "your_password"; $myDB = "examples"; //connection to the database $dbhandle = mssql_connect($mySe

MS SQL数据库SA权限入侵的感悟

想必大家都知道MSSQL中SA权限是什么,可以说是至高无上.今天我就它的危害再谈点儿,我所讲的是配合NBSI上传功能得到WebShell.在讲之前先说几个条件,否则得到Shell是有难度的.1.存在SQL注入,并且数据库类型是MSSQL.2.连接数据库的权限必须是SA.3.后台必须有文件上传的程序.好了,我们找到一个网址hxxp://www.6x36x.com/fangchan/listpro.asp?id=53,用NBSI一会就一目了然了.很好,数据库类型是MSSQL,权限是SA,再看看第三个

利用JDBC连接MS SQL Ser2000+sp2

我在学习j2ee的时候使用jdbc连接过ms sql server 2000,开始的时候一切都正常,但是后来遇到了一个很头痛的问题,就是我们在从表中读取数据放到ResultSet中后,读取列值的时候一定的按照列的顺序读取. 比如如果表中有三列id, name, address,按条件查询得到的结果放到ResultSet中,显示结果时如果这样写代码: java.sql.ResultSet employees; while(employees.next()){ employees.getString

html javascript-html可以调用javascript来连接ms sql吗?

问题描述 html可以调用javascript来连接ms sql吗? 请问 在本地机器上 能用html调用javascript来连接ms sql server吗?这个本地机器没有安装任何web server. 同样的开发环境下,我可以用html调用javacript 来连接ms access. 连接成功,并且返回query信息在网页中! 不知道该怎样用在连接sql server中! 下面给出代码: <html> <head> <h1>VHIT ICO IS THE BE

c# winform...-vs 2015用c#把当前时间放到连接的sql数据库里

问题描述 vs 2015用c#把当前时间放到连接的sql数据库里 如题,我用的是string now=DateTime.Now.ToShortDateString(),然后再把这个now更新到数据库里一个表里面的字段里,这个字段是datetime类型的,执行完成查看数据库里,显示却是1900-01-01,就是和当前时间不对,求大神讲解,谢谢了. 解决方案 首先你先看看你的now获取的对不对,其次你获取的now是字符串类型的,往数据库存成datetime人家不识别,所以给你个默认值,转成date类

ADO连接MS SQL SERVER 2000程序

ado连接ms sql server 2000程序 function adothread(param: pointer): integer; stdcall; var   con, cmd : variant; begin   coinitialize(nil);   con := getnewconnection(...);   if varisempty(con) then   begin   //未连接上,退出   exit;   end eles    cmd := getnewcomm

MS SQL数据库的连接处理解决方案

解决|数据|数据库 情景描述:为什么打包出来的程序,客户端连接数据库总是提示连接不上数据库.只有当客户机装上SQL就可以连接了. 我在包里包进了DBmsSHRn.dll,ntwdblib.dll,DBMSSOCN.DLL,DBnetlib.dll,libjcc.dll,ntwdblib.DLL,dbmsspxn.dll,Dbnmpntw.dll,pbdwe80.dll,pbmss80.dll,pbrtc80.dll pbsyc80.dll,pbtra80.dll,pbvm80.dll,可是安装到

通过MS SQL 数据库SA帐号增加新用户至administrators组

数据|数据库 <%'----数据库连接Start   '---二级域名名称  Main_Domain="web" '--域名格式为pcc.net  dim conn_Home  dim conn_Homestr  '定义数据库类别,1为SQL数据库,0为Access数据库  const IsSqlDataBase_Homestr = 1  call conn_Home_init()  sub conn_Home_init()     if IsSqlDataBase_Homest

asp.net连接查询SQL数据库并把结果显示在网页上(2种方法)_MsSql

在ASP.NET中,使用C#连接SQL数据库,并使用SQL语句查询,以前从来没有接触过C#,最近用到了,摸索了两天终于运行起来了,Mark一下,不喜勿喷 有两种方法:(说的是第一种方法不安全,我也不清楚^_^) 第一种方法: 复制代码 代码如下: //建立ASP.NET Web 应用程序,直接在Page_load函数中加入一下代码,貌似就可以用了 public void Page_Load(object sender, EventArgs e) { using (SqlConnection co