日期:2014-05-18  浏览次数:20662 次

osql调用外部*.sql文件再远程数据库上创建表失败
小弟在制作一个数据库自动生成的部分:
代码如下:
C# code
/// <summary>
        /// 自动调用外部的SQL文件
         /// </summary>
        /// <param name="dbServer">连接服务器</param>

--b
--c


调用部分是这样写的:
C# code
if (!IsPostBack)
        {
            //调用表生成
              CreateByFileAsSql cb = new CreateByFileAsSql();
            string dbServer = "192.168.0.221";
            string path = "F:\\c.sql";
            if (cb.CreateByFile(dbServer, "sa", "sa", "wjhtest", path))
            {
                Response.Write("aaa");
            }
        }


其中dbServer是指定的服务器,PATH是我要调用的.SQL文件的路径,wjhtest是个新建立的空数据库
C.SQL文件里写的是创建表和存储过程的语句.

问题:所有参数调用本地数据库时,创建表和存储过程都没问题(就是把参数设置为dbServer:127.0.0.1)
  而我在对远程数据库操作时,库我都建立好了,但总是不成功.

  我跟踪代码发现了一个这样的错误:"用户 'sa' 登录失败。\r\n[SQL Native Client]共享内存提供程序: 系统无法打开 文件。\r\n[SQL Native Client]通讯链接失败\r\n无法打开登录 'wjhtest' 中请求的数据库。登录失败。\r\n"

这是怎么回事,osql工具受访问权限控制吗?怎样配置才能创建成功
哪位高手指点下怎么在程序中自动创建数据库表(要远程的,本地的我可以实现)


------解决方案--------------------
没权限吧?