exec('create proc 名
as
begin
 select 1 
end')

解决方案 »

  1.   

    上面的做法因为要在程序组织与一条SQL语句,如果这样可以吗?
    string sSql = "exec('create proc 名 as begin select 1 end')"
      

  2.   

    string sSql = "creata proc 名 as begin select 1 end"XX.execsql(sSql);
      

  3.   

    我的存储过程内容很多
    我在DEBUG的时候取得sSql内容后在查询分析器中执行报错如下:[Microsoft][ODBC SQL Server Driver][SQL Server]以 'CREATE PROCEDURE gtsp_TEST AS  DELETE FROM TCode_TEST INSERT INTO TCode_Template(n_TmpID, s_TmpType, s_CaseType, s_Pa' 开头的 标识符 太长。最大长度为 128。 请问如何解决该问题?
      

  4.   

    请问大力,我的程序中要在ACCESS数据表中向SQLSERVER中导入数据,参照你以前回答的贴子中的办法
    INSERT INTO myTable(myField)SELECT myField FROM OPENDATASOURCE ('Microsoft.Jet.Oledb.4.0', 'data source=d:\myAccess.mdb;user Id=;password=' )...myTable
    程序报错如下:
    ---------------------------
    错误信息
    ---------------------------
    已拒绝对 OLE DB 提供程序 'Microsoft.Jet.Oledb.4.0' 的特殊访问。必须通过链接服务器来访问此提供程序。
    请问如何解决?
      

  5.   

    你有access吗?insert myTable(myField) SELECT myField FROM OpenDataSource( 'Microsoft.Jet.OLEDB.4.0',  'Data Source="c:\Finance\account.mdb";User ID=Admin;Password=')...myTable
      

  6.   

    当然有ACCESS
    而且我把语句COPY出来在SQLSERVER中执行没什么问题。
      

  7.   

    请高手帮忙看看这个问题出在哪?特急!
    在SQL中执行下面SQL语句不会报错,但在程序中却会报,不明白为什么。----------------------------
    SQL语句
    ----------------------------
    INSERT INTO myTable(myField)SELECT myField FROM OPENDATASOURCE ('Microsoft.Jet.Oledb.4.0', 'data source=d:\myAccess.mdb;user Id=;password=' )...myTable程序报错如下:
    ---------------------------
    错误信息
    ---------------------------
    已拒绝对 OLE DB 提供程序 'Microsoft.Jet.Oledb.4.0' 的特殊访问。必须通过链接服务器来访问此提供程序。请问如何解决?