新书推介:《语义网技术体系》
作者:瞿裕忠,胡伟,程龚
   XML论坛     W3CHINA.ORG讨论区     计算机科学论坛     SOAChina论坛     Blog     开放翻译计划     新浪微博  
 
  • 首页
  • 登录
  • 注册
  • 软件下载
  • 资料下载
  • 核心成员
  • 帮助
  •   Add to Google

    >> 本版讨论Semantic Web(语义Web,语义网或语义万维网, Web 3.0)及相关理论,如:Ontology(本体,本体论), OWL(Web Ontology Langauge,Web本体语言), Description Logic(DL, 描述逻辑),RDFa,Ontology Engineering等。
    [返回] 中文XML论坛 - 专业的XML技术讨论区W3CHINA.ORG讨论区 - Web新技术讨论『 Semantic Web(语义Web)/描述逻辑/本体 』 → C# 利用JENA将owl存入MsSQL2005报错 查看新帖用户列表

      发表一个新主题  发表一个新投票  回复主题  (订阅本版) 您是本帖的第 106272 个阅读者浏览上一篇主题  刷新本主题   树形显示贴子 浏览下一篇主题
     * 贴子主题: C# 利用JENA将owl存入MsSQL2005报错 举报  打印  推荐  IE收藏夹 
       本主题类别: RDF/RDFS | XML文档存取技术(DOM, SAX)    
     yhb1985 帅哥哟,离线,有人找我吗?
      
      
      等级:大一(猛啃高等数学)
      文章:12
      积分:122
      门派:XML.ORG.CN
      注册:2010/1/11

    姓名:(无权查看)
    城市:(无权查看)
    院校:(无权查看)
    给yhb1985发送一个短消息 把yhb1985加入好友 查看yhb1985的个人资料 搜索yhb1985在『 Semantic Web(语义Web)/描述逻辑/本体 』的所有贴子 引用回复这个贴子 回复这个贴子 查看yhb1985的博客楼主
    发贴心情 C# 利用JENA将owl存入MsSQL2005报错

    我执行程序的时候报错
    “com.microsoft.sqlserver.jdbc.Util”的类型初始值设定项引发异常。
    大家帮我看看怎么解决这个问题。

    或者有没有用C#和JENA整合的例子。
    谢谢大家。

    执行到红色代码的时候就会报错


    using System;
    using com.hp.hpl.jena.db;
    using com.hp.hpl.jena.rdf.model;
    //using com.hp.hpl.jena.rdql;
    using com.hp.hpl.jena.query;
    using System.Xml;
    using System.Xml.XPath;

    namespace nJena
    {
     /// <summary>
     /// Summary description for JenaRDFDatabase.
     /// </summary>
     public class JenaRDFDatabase
     {
      //instance variables

      Model model;
      IDBConnection conn;

      public JenaRDFDatabase(String modelName, String dbserver, String db, String dbuser, String dbpass, bool createNew)
      {
       String M_DB_URL = "jdbc:mysql://" + db; // database URL
       String M_DB_USER = dbuser;     // database user id
       String M_DB_PASSWD = dbpass;   // database user password
       String M_DB = "MsSQL";  // database engine could also be "MySQL"

       try
       {

        // create a database connection
        // THIS LINE IS IF WE WERE USING MYSQL RATHER THAN SQL SEREVR System.Activator.CreateInstance("mysqldriver", "com.mysql.jdbc.Driver");

        M_DB_URL = "jdbc:sqlserver://" + dbserver + ";databaseName=" + db;
        System.Activator.CreateInstance("sqldriver", "com.microsoft.sqlserver.jdbc.SQLServerDriver");

        conn  = new  DBConnection(M_DB_URL, M_DB_USER, M_DB_PASSWD, M_DB);
        if (conn == null)
         Console.WriteLine("no IDBConnection");

        // create a model maker with the given connection parameters
        ModelMaker maker = ModelFactory.createModelRDBMaker(conn);

        if (createNew)
        {
         // open a previously created model
         model = maker.createModel(modelName);     
        }
        else
        {
         // open a previously created model
         model = maker.openModel(modelName);
        }
        
       }
       catch (Exception e)
       {
        throw(e);
       }
      }

      public void close()
      {
       conn.close();
      }

      public void addFile(String filepath, String format)
      {
       // Start a database transaction. Without one, each statement will be auto-committed
       // as it is added, which slows down the model import significantly.
       model.begin();

       ikvm.io.InputStreamWrapper isw = new ikvm.io.InputStreamWrapper(new System.IO.FileStream(filepath, System.IO.FileMode.Open));

       //InputStream inp = this.getClass().getClassLoader().getResourceAsStream(filename);
       model.read(isw,null,format);

       // Commit the database transaction
       model.commit();

      }

      public XmlDocument queryBySparl(String queryString)
      {
       Query query = QueryFactory.create(queryString);

       // Execute the query and obtain results
       QueryExecution qe = QueryExecutionFactory.create(query, model);
       ResultSet results = qe.execSelect();

       // Output query results 
       String op = ResultSetFormatter.asXMLString(results);

       // Important - free up resources used running the query
       qe.close();

       XmlDocument x = new XmlDocument();
       x.LoadXml(op);

       return x;
      }


     }
    }


       收藏   分享  
    顶(0)
      




    点击查看用户来源及管理<br>发贴IP:*.*.*.* 2010/2/26 15:44:00
     
     laotao 帅哥哟,离线,有人找我吗?
      
      
      威望:1
      等级:大四(GRE考了1400分!)
      文章:117
      积分:1030
      门派:XML.ORG.CN
      注册:2007/4/30

    姓名:(无权查看)
    城市:(无权查看)
    院校:(无权查看)
    给laotao发送一个短消息 把laotao加入好友 查看laotao的个人资料 搜索laotao在『 Semantic Web(语义Web)/描述逻辑/本体 』的所有贴子 点击这里发送电邮给laotao 引用回复这个贴子 回复这个贴子 查看laotao的博客2
    发贴心情 
    刚找到代码的出处,执行的时候遇到的好像也是这个问题。在app.config里面加入下面一段之后就没问题了

        <appSettings>
            <add key="ikvm:file.encoding" value="utf8" />
        </appSettings>


    [此贴子已经被作者于2010-2-26 19:13:22编辑过]
    点击查看用户来源及管理<br>发贴IP:*.*.*.* 2010/2/26 18:19:00
     
     yhb1985 帅哥哟,离线,有人找我吗?
      
      
      等级:大一(猛啃高等数学)
      文章:12
      积分:122
      门派:XML.ORG.CN
      注册:2010/1/11

    姓名:(无权查看)
    城市:(无权查看)
    院校:(无权查看)
    给yhb1985发送一个短消息 把yhb1985加入好友 查看yhb1985的个人资料 搜索yhb1985在『 Semantic Web(语义Web)/描述逻辑/本体 』的所有贴子 引用回复这个贴子 回复这个贴子 查看yhb1985的博客3
    发贴心情 
    为什么我在app.config添加上代码后又报错如下呢?能不能传给我一个可行的程序
    Failure to instantiate DB Driver:MsSQL com.microsoft.sqlserver.jdbc.SQLServerException: Java 环境不支持代码页 936。
    点击查看用户来源及管理<br>发贴IP:*.*.*.* 2010/3/1 11:08:00
     
     laotao 帅哥哟,离线,有人找我吗?
      
      
      威望:1
      等级:大四(GRE考了1400分!)
      文章:117
      积分:1030
      门派:XML.ORG.CN
      注册:2007/4/30

    姓名:(无权查看)
    城市:(无权查看)
    院校:(无权查看)
    给laotao发送一个短消息 把laotao加入好友 查看laotao的个人资料 搜索laotao在『 Semantic Web(语义Web)/描述逻辑/本体 』的所有贴子 点击这里发送电邮给laotao 引用回复这个贴子 回复这个贴子 查看laotao的博客4
    发贴心情 


    注意:1. IKVM.GNU.Classpath.dll和jena.dll需要你自己添加,因为太大了没法上传
    2. 代码JenaRDFDatabase db = new JenaRDFDatabase("dotnetmodel", "10.10.1.2", "LigCustom", "sa", "sa", createNew)需要按照你的数据库参数进行设置
    点击查看用户来源及管理<br>发贴IP:*.*.*.* 2010/3/1 14:24:00
     
     yhb1985 帅哥哟,离线,有人找我吗?
      
      
      等级:大一(猛啃高等数学)
      文章:12
      积分:122
      门派:XML.ORG.CN
      注册:2010/1/11

    姓名:(无权查看)
    城市:(无权查看)
    院校:(无权查看)
    给yhb1985发送一个短消息 把yhb1985加入好友 查看yhb1985的个人资料 搜索yhb1985在『 Semantic Web(语义Web)/描述逻辑/本体 』的所有贴子 引用回复这个贴子 回复这个贴子 查看yhb1985的博客5
    发贴心情 
    还是不行,运行时报错:
    Failure to instantiate DB Driver:MsSQL com.microsoft.sqlserver.jdbc.SQLServerException: Java 环境不支持代码页 936
    点击查看用户来源及管理<br>发贴IP:*.*.*.* 2010/3/1 20:46:00
     
     laotao 帅哥哟,离线,有人找我吗?
      
      
      威望:1
      等级:大四(GRE考了1400分!)
      文章:117
      积分:1030
      门派:XML.ORG.CN
      注册:2007/4/30

    姓名:(无权查看)
    城市:(无权查看)
    院校:(无权查看)
    给laotao发送一个短消息 把laotao加入好友 查看laotao的个人资料 搜索laotao在『 Semantic Web(语义Web)/描述逻辑/本体 』的所有贴子 点击这里发送电邮给laotao 引用回复这个贴子 回复这个贴子 查看laotao的博客6
    发贴心情 
    可能是你的jre缺些字符集吧,我在jre1.6.0_17下运行是可以的
    点击查看用户来源及管理<br>发贴IP:*.*.*.* 2010/3/1 21:43:00
     
     yhb1985 帅哥哟,离线,有人找我吗?
      
      
      等级:大一(猛啃高等数学)
      文章:12
      积分:122
      门派:XML.ORG.CN
      注册:2010/1/11

    姓名:(无权查看)
    城市:(无权查看)
    院校:(无权查看)
    给yhb1985发送一个短消息 把yhb1985加入好友 查看yhb1985的个人资料 搜索yhb1985在『 Semantic Web(语义Web)/描述逻辑/本体 』的所有贴子 引用回复这个贴子 回复这个贴子 查看yhb1985的博客7
    发贴心情 
    是不是IKVM.GNU.Classpath.dll不同的原因?
    我用的是网上下载这个程序里带的IKVM.GNU.Classpath.dll,你的是自己编译的吗?
    如果是可以传给我吗?
    点击查看用户来源及管理<br>发贴IP:*.*.*.* 2010/3/2 11:21:00
     
     laotao 帅哥哟,离线,有人找我吗?
      
      
      威望:1
      等级:大四(GRE考了1400分!)
      文章:117
      积分:1030
      门派:XML.ORG.CN
      注册:2007/4/30

    姓名:(无权查看)
    城市:(无权查看)
    院校:(无权查看)
    给laotao发送一个短消息 把laotao加入好友 查看laotao的个人资料 搜索laotao在『 Semantic Web(语义Web)/描述逻辑/本体 』的所有贴子 点击这里发送电邮给laotao 引用回复这个贴子 回复这个贴子 查看laotao的博客8
    发贴心情 
    我的IKVM.GNU.Classpath.dll是0.32.0.0版,你可以到这里下载更新的:http://sourceforge.net/projects/ikvm/files/
    点击查看用户来源及管理<br>发贴IP:*.*.*.* 2010/3/2 13:51:00
     
     yhb1985 帅哥哟,离线,有人找我吗?
      
      
      等级:大一(猛啃高等数学)
      文章:12
      积分:122
      门派:XML.ORG.CN
      注册:2010/1/11

    姓名:(无权查看)
    城市:(无权查看)
    院校:(无权查看)
    给yhb1985发送一个短消息 把yhb1985加入好友 查看yhb1985的个人资料 搜索yhb1985在『 Semantic Web(语义Web)/描述逻辑/本体 』的所有贴子 引用回复这个贴子 回复这个贴子 查看yhb1985的博客9
    发贴心情 
    还是报错:
    Failure to instantiate DB Driver:MsSQL com.microsoft.sqlserver.jdbc.SQLServerException: Java 环境不支持代码页 936

    用什么办法可以解决呢?

    点击查看用户来源及管理<br>发贴IP:*.*.*.* 2010/3/3 19:45:00
     
     laotao 帅哥哟,离线,有人找我吗?
      
      
      威望:1
      等级:大四(GRE考了1400分!)
      文章:117
      积分:1030
      门派:XML.ORG.CN
      注册:2007/4/30

    姓名:(无权查看)
    城市:(无权查看)
    院校:(无权查看)
    给laotao发送一个短消息 把laotao加入好友 查看laotao的个人资料 搜索laotao在『 Semantic Web(语义Web)/描述逻辑/本体 』的所有贴子 点击这里发送电邮给laotao 引用回复这个贴子 回复这个贴子 查看laotao的博客10
    发贴心情 
    留个能收大邮件的信箱吧,我把整个solution发给你
    点击查看用户来源及管理<br>发贴IP:*.*.*.* 2010/3/3 20:22:00
     
     GoogleAdSense
      
      
      等级:大一新生
      文章:1
      积分:50
      门派:无门无派
      院校:未填写
      注册:2007-01-01
    给Google AdSense发送一个短消息 把Google AdSense加入好友 查看Google AdSense的个人资料 搜索Google AdSense在『 Semantic Web(语义Web)/描述逻辑/本体 』的所有贴子 点击这里发送电邮给Google AdSense 访问Google AdSense的主页 引用回复这个贴子 回复这个贴子 查看Google AdSense的博客广告
    2020/10/24 14:44:03

    本主题贴数17,分页: [1] [2]

    管理选项修改tag | 锁定 | 解锁 | 提升 | 删除 | 移动 | 固顶 | 总固顶 | 奖励 | 惩罚 | 发布公告
    W3C Contributing Supporter! W 3 C h i n a ( since 2003 ) 旗 下 站 点
    苏ICP备05006046号《全国人大常委会关于维护互联网安全的决定》《计算机信息网络国际联网安全保护管理办法》
    109.375ms